----------------------------------------------------------------------------- Purpose: -----------------------------------------------------------------------------
| 2407 | // Purpose: |
| 2408 | //----------------------------------------------------------------------------- |
| 2409 | void 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 | //----------------------------------------------------------------------------- |