Changeset 520 for trunk/src/gfx/debug_draw.cc
- Timestamp:
- 10/03/16 17:45:46 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gfx/debug_draw.cc
r509 r520 101 101 } 102 102 103 void nv::debug_data::push_wire_capsule( const transform& tr, float radius, float height ) 104 { 105 vec3 p = tr.get_position(); 106 quat o = tr.get_orientation(); 107 vec3 dir = o * vec3( 0, 1, 0 ); 108 vec3 ldir = o * vec3( 1, 0, 0 ); 109 vec3 h1dir = o * normalize( vec3( 1, -1, 0 ) ); 110 vec3 h2dir = o * normalize( vec3( 1, 1, 0 ) ); 111 vec3 sp1[12]; 112 vec3 sp2[12]; 113 vec3 hsp1[12]; 114 vec3 hsp2[12]; 115 for ( uint32 i = 0; i < 12; ++i ) 116 { 117 sp1[i] = nv::math::rotate( ldir * radius, ( float( i ) / 12.0f ) * math::two_pi<float>(), dir ); 118 hsp1[i] = nv::math::rotate( h1dir * radius, ( float( i ) / 12.0f ) * math::two_pi<float>(), dir ); 119 } 120 for ( uint32 i = 0; i < 12; ++i ) 121 { 122 sp2[i] = nv::math::rotate( ldir * radius + height * dir, ( float( i ) / 12.0f ) * math::two_pi<float>(), dir ); 123 hsp2[i] = nv::math::rotate( h2dir * radius + height * dir, ( float( i ) / 12.0f ) * math::two_pi<float>(), dir ); 124 } 125 126 for ( uint32 i = 0; i < 12; ++i ) 127 { 128 push_line( p + sp1[i], p + sp1[( i + 1 ) % 12], vec3( 1.0f, 0.0f, 0.0f ) ); 129 push_line( p + sp2[i], p + sp2[( i + 1 ) % 12], vec3( 0.0f, 1.0f, 0.0f ) ); 130 push_line( p + sp1[i], p + sp2[i], vec3( 0.0f, 0.0f, 1.0f ) ); 131 132 push_line( p + hsp1[i], p + sp1[i], vec3( 0.0f, 0.0f, 1.0f ) ); 133 push_line( p + hsp1[i], p + hsp1[( i + 1 ) % 12], vec3( 1.0f, 0.0f, 0.0f ) ); 134 push_line( p + hsp2[i], p + sp2[i], vec3( 0.0f, 0.0f, 1.0f ) ); 135 push_line( p + hsp2[i], p + hsp2[( i + 1 ) % 12], vec3( 0.0f, 1.0f, 0.0f ) ); 136 137 push_line( p + hsp1[i], p - radius * dir, vec3( 0.0f, 0.0f, 1.0f ) ); 138 push_line( p + hsp2[i], p + ( height + radius ) * dir, vec3( 0.0f, 0.0f, 1.0f ) ); 139 140 } 141 142 143 } 144 145 103 146 nv::debug_data::~debug_data() 104 147 {
Note: See TracChangeset
for help on using the changeset viewer.