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

common_debug_shape_lib.glsl « shaders « intern « draw « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 538c55ce54429d34118ca25262bacd8f3c18f11d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

/**
 * Debug drawing of shapes.
 */

#pragma BLENDER_REQUIRE(common_debug_draw_lib.glsl)
#pragma BLENDER_REQUIRE(common_shape_lib.glsl)

void drw_debug(Box shape, vec4 color)
{
  drw_debug_quad(shape.corners[0], shape.corners[1], shape.corners[2], shape.corners[3], color);
  drw_debug_line(shape.corners[0], shape.corners[4], color);
  drw_debug_line(shape.corners[1], shape.corners[5], color);
  drw_debug_line(shape.corners[2], shape.corners[6], color);
  drw_debug_line(shape.corners[3], shape.corners[7], color);
  drw_debug_quad(shape.corners[4], shape.corners[5], shape.corners[6], shape.corners[7], color);
}
void drw_debug(Box shape)
{
  drw_debug(shape, drw_debug_default_color);
}

void drw_debug(Frustum shape, vec4 color)
{
  drw_debug_quad(shape.corners[0], shape.corners[1], shape.corners[2], shape.corners[3], color);
  drw_debug_line(shape.corners[0], shape.corners[4], color);
  drw_debug_line(shape.corners[1], shape.corners[5], color);
  drw_debug_line(shape.corners[2], shape.corners[6], color);
  drw_debug_line(shape.corners[3], shape.corners[7], color);
  drw_debug_quad(shape.corners[4], shape.corners[5], shape.corners[6], shape.corners[7], color);
}
void drw_debug(Frustum shape)
{
  drw_debug(shape, drw_debug_default_color);
}

void drw_debug(Pyramid shape, vec4 color)
{
  drw_debug_line(shape.corners[0], shape.corners[1], color);
  drw_debug_line(shape.corners[0], shape.corners[2], color);
  drw_debug_line(shape.corners[0], shape.corners[3], color);
  drw_debug_line(shape.corners[0], shape.corners[4], color);
  drw_debug_quad(shape.corners[1], shape.corners[2], shape.corners[3], shape.corners[4], color);
}
void drw_debug(Pyramid shape)
{
  drw_debug(shape, drw_debug_default_color);
}

void drw_debug(Sphere shape, vec4 color)
{
  drw_debug_sphere(shape.center, shape.radius, color);
}
void drw_debug(Sphere shape)
{
  drw_debug(shape, drw_debug_default_color);
}