MCPcopy Create free account
hub / github.com/ValveSoftware/openvr / AddCubeToScene

Method AddCubeToScene

samples/hellovr_vulkan/hellovr_vulkan_main.cpp:2409–2464  ·  view source on GitHub ↗

----------------------------------------------------------------------------- Purpose: -----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

2407// Purpose:
2408//-----------------------------------------------------------------------------
2409void CMainApplication::AddCubeToScene( Matrix4 mat, std::vector<float> &vertdata )
2410{
2411 // Matrix4 mat( outermat.data() );
2412
2413 Vector4 A = mat * Vector4( 0, 0, 0, 1 );
2414 Vector4 B = mat * Vector4( 1, 0, 0, 1 );
2415 Vector4 C = mat * Vector4( 1, 1, 0, 1 );
2416 Vector4 D = mat * Vector4( 0, 1, 0, 1 );
2417 Vector4 E = mat * Vector4( 0, 0, 1, 1 );
2418 Vector4 F = mat * Vector4( 1, 0, 1, 1 );
2419 Vector4 G = mat * Vector4( 1, 1, 1, 1 );
2420 Vector4 H = mat * Vector4( 0, 1, 1, 1 );
2421
2422 // triangles instead of quads
2423 AddCubeVertex( E.x, E.y, E.z, 0, 1, vertdata ); //Front
2424 AddCubeVertex( F.x, F.y, F.z, 1, 1, vertdata );
2425 AddCubeVertex( G.x, G.y, G.z, 1, 0, vertdata );
2426 AddCubeVertex( G.x, G.y, G.z, 1, 0, vertdata );
2427 AddCubeVertex( H.x, H.y, H.z, 0, 0, vertdata );
2428 AddCubeVertex( E.x, E.y, E.z, 0, 1, vertdata );
2429
2430 AddCubeVertex( B.x, B.y, B.z, 0, 1, vertdata ); //Back
2431 AddCubeVertex( A.x, A.y, A.z, 1, 1, vertdata );
2432 AddCubeVertex( D.x, D.y, D.z, 1, 0, vertdata );
2433 AddCubeVertex( D.x, D.y, D.z, 1, 0, vertdata );
2434 AddCubeVertex( C.x, C.y, C.z, 0, 0, vertdata );
2435 AddCubeVertex( B.x, B.y, B.z, 0, 1, vertdata );
2436
2437 AddCubeVertex( H.x, H.y, H.z, 0, 1, vertdata ); //Top
2438 AddCubeVertex( G.x, G.y, G.z, 1, 1, vertdata );
2439 AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata );
2440 AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata );
2441 AddCubeVertex( D.x, D.y, D.z, 0, 0, vertdata );
2442 AddCubeVertex( H.x, H.y, H.z, 0, 1, vertdata );
2443
2444 AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); //Bottom
2445 AddCubeVertex( B.x, B.y, B.z, 1, 1, vertdata );
2446 AddCubeVertex( F.x, F.y, F.z, 1, 0, vertdata );
2447 AddCubeVertex( F.x, F.y, F.z, 1, 0, vertdata );
2448 AddCubeVertex( E.x, E.y, E.z, 0, 0, vertdata );
2449 AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata );
2450
2451 AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); //Left
2452 AddCubeVertex( E.x, E.y, E.z, 1, 1, vertdata );
2453 AddCubeVertex( H.x, H.y, H.z, 1, 0, vertdata );
2454 AddCubeVertex( H.x, H.y, H.z, 1, 0, vertdata );
2455 AddCubeVertex( D.x, D.y, D.z, 0, 0, vertdata );
2456 AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata );
2457
2458 AddCubeVertex( F.x, F.y, F.z, 0, 1, vertdata ); //Right
2459 AddCubeVertex( B.x, B.y, B.z, 1, 1, vertdata );
2460 AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata );
2461 AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata );
2462 AddCubeVertex( G.x, G.y, G.z, 0, 0, vertdata );
2463 AddCubeVertex( F.x, F.y, F.z, 0, 1, vertdata );
2464}
2465
2466//-----------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 1

Vector4Class · 0.85

Tested by

no test coverage detected