373{
376 float angle, determinant;
382
383 mat.m[0][1] = 5.0f;
mat.m[0][2] = 7.0f;
mat.m[0][3] = 8.0f;
384 mat.m[1][0] = 11.0f;
mat.m[1][2] = 16.0f;
mat.m[1][3] = 33.0f;
385 mat.m[2][0] = 19.0f;
mat.m[2][1] = -21.0f;
mat.m[2][3] = 43.0f;
386 mat.m[3][0] = 2.0f;
mat.m[3][1] = 3.0f;
mat.m[3][2] = -4.0f;
387 mat.m[0][0] = 10.0f;
mat.m[1][1] = 20.0f;
mat.m[2][2] = 30.0f;
388 mat.m[3][3] = -40.0f;
389
390 mat2.
m[0][0] = 1.0f; mat2.
m[1][0] = 2.0f; mat2.
m[2][0] = 3.0f;
391 mat2.
m[3][0] = 4.0f; mat2.
m[0][1] = 5.0f; mat2.
m[1][1] = 6.0f;
392 mat2.
m[2][1] = 7.0f; mat2.
m[3][1] = 8.0f; mat2.
m[0][2] = -8.0f;
393 mat2.
m[1][2] = -7.0f; mat2.
m[2][2] = -6.0f; mat2.
m[3][2] = -5.0f;
394 mat2.
m[0][3] = -4.0f; mat2.
m[1][3] = -3.0f; mat2.
m[2][3] = -2.0f;
395 mat2.
m[3][3] = -1.0f;
396
398
399 q.x = 1.0f;
q.y = -4.0f;
q.z =7.0f;
q.w = -11.0f;
400 r.x = 0.87f;
r.y = 0.65f;
r.z =0.43f;
r.w= 0.21f;
401
402 at.
x = -2.0f; at.
y = 13.0f; at.
z = -9.0f;
403 axis.
x = 1.0f; axis.
y = -3.0f; axis.
z = 7.0f;
404 eye.
x = 8.0f; eye.
y = -5.0f; eye.
z = 5.75f;
406
408
410
411
413 -459.239990f, -576.719971f, -263.440002f, 0.0f,
414 519.760010f, -352.440002f, -277.679993f, 0.0f,
415 363.119995f, -121.040001f, -117.479996f, 0.0f,
416 -1239.0f, 667.0f, 567.0f, 1.0f);
419
420
421 expectedmat.
m[3][0] = 1.0f; expectedmat.
m[3][1] = -3.0f; expectedmat.
m[3][2] = 7.0f; expectedmat.
m[3][3] = 1.0f;
424
425 expectedmat.
m[3][0] = -1240.0f; expectedmat.
m[3][1] = 670.0f; expectedmat.
m[3][2] = 560.0f; expectedmat.
m[3][3] = 1.0f;
428
429 expectedmat.
m[3][0] = 0.0f; expectedmat.
m[3][1] = 0.0f; expectedmat.
m[3][2] = 0.0f; expectedmat.
m[3][3] = 1.0f;
432
434 3.56f, 0.0f, 0.0f, 0.0f,
435 0.0f, 3.56f, 0.0f, 0.0f,
436 0.0f, 0.0f, 3.56f, 0.0f,
437 1.0f, -3.0f, 7.0f, 1.0f);
440
443
444 expectedmat.
m[3][0] = 0.0f; expectedmat.
m[3][1] = 0.0f; expectedmat.
m[3][2] = 0.0f; expectedmat.
m[3][3] = 1.0f;
447
450
451
454 ok(
equal,
"Got unexpected determinant %.8e.\n", determinant);
455
456
458 16067.0f/73944.0f, -10165.0f/147888.0f, -2729.0f/147888.0f, -1631.0f/49296.0f,
459 -565.0f/36972.0f, 2723.0f/73944.0f, -1073.0f/73944.0f, 289.0f/24648.0f,
460 -389.0f/2054.0f, 337.0f/4108.0f, 181.0f/4108.0f, 317.0f/4108.0f,
461 163.0f/5688.0f, -101.0f/11376.0f, -73.0f/11376.0f, -127.0f/3792.0f);
465 ok(
equal,
"Got unexpected determinant %.8e.\n", determinant);
466 determinant = 5.0f;
468 ok(!
ret,
"Unexpected return value %p.\n",
ret);
471 "Unexpected determinant %.8e.\n", determinant);
472
473
475 memset(&mat3, 0,
sizeof(mat3));
476 got = D3DXMatrixIsIdentity(&mat3);
478 D3DXMatrixIdentity(&mat3);
480 got = D3DXMatrixIsIdentity(&mat3);
482 mat3.
m[0][0] = 0.000009f;
484 got = D3DXMatrixIsIdentity(&mat3);
486
488 got = D3DXMatrixIsIdentity(
NULL);
490
491
493 -0.82246518f, -0.40948939f, -0.39480308f, 0.0f,
494 -0.55585691f, 0.43128574f, 0.71064550f, 0.0f,
495 -0.12072885f, 0.80393475f, -0.58233452f, 0.0f,
496 4.4946337f, 0.80971903f, 10.060076f, 1.0f);
499
500
502 0.82246518f, -0.40948939f, 0.39480308f, 0.0f,
503 0.55585691f, 0.43128574f, -0.71064550f, 0.0f,
504 0.12072885f, 0.80393475f, 0.58233452f, 0.0f,
505 -4.4946337f, 0.80971903f, -10.060076f, 1.0f);
508
509
511 73.0f, 193.0f, -197.0f, -77.0f,
512 231.0f, 551.0f, -489.0f, -169.0f,
513 239.0f, 523.0f, -400.0f, -116.0f,
514 -164.0f, -320.0f, 187.0f, 31.0f);
517
518
520 73.0f, 231.0f, 239.0f, -164.0f,
521 193.0f, 551.0f, 523.0f, -320.0f,
522 -197.0f, -489.0f, -400.0f, 187.0f,
523 -77.0f, -169.0f, -116.0f, 31.0f);
526
527
529 0.8f, 0.0f, 0.0f, 0.0f,
530 0.0f, 0.27027027f, 0.0f, 0.0f,
531 0.0f, 0.0f, -0.15151515f, 0.0f,
532 0.0f, 0.0f, -0.48484848f, 1.0f);
535
536
538 3.6363636f, 0.0f, 0.0f, 0.0f,
539 0.0f, 0.18018018f, 0.0f, 0.0f,
540 0.0f, 0.0f, -0.045662100f, 0.0f,
541 -1.7272727f, -0.56756757f, 0.42465753f, 1.0f);
544
545
547 3.6363636f, 0.0f, 0.0f, 0.0f,
548 0.0f, 0.18018018f, 0.0f, 0.0f,
549 0.0f, 0.0f, 0.045662100f, 0.0f,
550 -1.7272727f, -0.56756757f, 0.42465753f, 1.0f);
553
554
556 0.8f, 0.0f, 0.0f, 0.0f,
557 0.0f, 0.27027027f, 0.0f, 0.0f,
558 0.0f, 0.0f, 0.15151515f, 0.0f,
559 0.0f, 0.0f, -0.48484848f, 1.0f);
562
563
565 13.288858f, 0.0f, 0.0f, 0.0f,
566 0.0f, 9.9666444f, 0.0f, 0.0f,
567 0.0f, 0.0f, 0.78378378f, 1.0f,
568 0.0f, 0.0f, 1.8810811f, 0.0f);
571
572
574 13.288858f, 0.0f, 0.0f, 0.0f,
575 0.0f, 9.9666444f, 0.0f, 0.0f,
576 0.0f, 0.0f, -0.78378378f, -1.0f,
577 0.0f, 0.0f, 1.8810811f, 0.0f);
580
581
583 -24.0f, 0.0f, 0.0f, 0.0f,
584 0.0f, -6.4f, 0.0f, 0.0f,
585 0.0f, 0.0f, 0.78378378f, 1.0f,
586 0.0f, 0.0f, 1.8810811f, 0.0f);
589
590
592 11.636364f, 0.0f, 0.0f, 0.0f,
593 0.0f, 0.57657658f, 0.0f, 0.0f,
594 -1.7272727f, -0.56756757f, 0.84079602f, 1.0f,
595 0.0f, 0.0f, -2.6905473f, 0.0f);
598
599
601 11.636364f, 0.0f, 0.0f, 0.0f,
602 0.0f, 0.57657658f, 0.0f, 0.0f,
603 1.7272727f, 0.56756757f, -0.84079602f, -1.0f,
604 0.0f, 0.0f, -2.6905473f, 0.0f);
607
608
610 -24.0f, -0.0f, 0.0f, 0.0f,
611 0.0f, -6.4f, 0.0f, 0.0f,
612 0.0f, 0.0f, -0.78378378f, -1.0f,
613 0.0f, 0.0f, 1.8810811f, 0.0f);
616
617
619 0.30769235f, -0.23076922f, 0.92307687f, 0.0f,
620 -0.23076922, 0.92307693f, 0.30769232f, 0.0f,
621 0.92307687f, 0.30769232f, -0.23076922f, 0.0f,
622 1.6153846f, 0.53846157f, -2.1538463f, 1.0f);
625
626
628 0.50847453f, 0.76380461f, 0.39756277f, 0.0f,
629 -0.81465209f, 0.57627118f, -0.065219201f, 0.0f,
630 -0.27891868f, -0.29071301f, 0.91525424f, 0.0f,
631 0.0f, 0.0f, 0.0f, 1.0f);
634
635
637 -129.0f, -162.0f, -74.0f, 0.0f,
638 146.0f, -99.0f, -78.0f, 0.0f,
639 102.0f, -34.0f, -33.0f, 0.0f,
640 0.0f, 0.0f, 0.0f, 1.0f);
643
644
646 1.0f, 0.0f, 0.0f, 0.0f,
647 0.0f, 0.5f,
sqrt(3.0f)/2.0f, 0.0f,
648 0.0f, -
sqrt(3.0f)/2.0f, 0.5f, 0.0f,
649 0.0f, 0.0f, 0.0f, 1.0f);
652
653
655 0.5f, 0.0f, -
sqrt(3.0f)/2.0f, 0.0f,
656 0.0f, 1.0f, 0.0f, 0.0f,
657 sqrt(3.0f)/2.0f, 0.0f, 0.5f, 0.0f,
658 0.0f, 0.0f, 0.0f, 1.0f);
661
662
664 0.88877726f, 0.091874748f, -0.44903678f, 0.0f,
665 0.35171318f, 0.49148652f, 0.79670501f, 0.0f,
666 0.29389259f, -0.86602545f, 0.40450847f, 0.0f,
667 0.0f, 0.0f, 0.0f, 1.0f);
670
671
673 0.5f,
sqrt(3.0f)/2.0f, 0.0f, 0.0f,
674 -
sqrt(3.0f)/2.0f, 0.5f, 0.0f, 0.0f,
675 0.0f, 0.0f, 1.0f, 0.0f,
676 0.0f, 0.0f, 0.0f, 1.0f);
679
680
682 0.69f, 0.0f, 0.0f, 0.0f,
683 0.0f, 0.53f, 0.0f, 0.0f,
684 0.0f, 0.0f, 4.11f, 0.0f,
685 0.0f, 0.0f, 0.0f, 1.0f);
688
689
691 12.786773f, 5.0009613f, 4.3537784f, 3.7065949f,
692 1.8827150f, 8.8056154f, 1.4512594f, 1.2355317f,
693 -7.5308599f, -6.6679487f, 1.3335901f, -4.9421268f,
694 -13.179006f, -11.668910f, -10.158816f, -1.5100943f);
697
698
700 1.0f, 0.0f, 0.0f, 0.0f,
701 0.0f, 1.0f, 0.0f, 0.0f,
702 0.0f, 0.0f, 1.0f, 0.0f,
703 0.0f, 0.0f, 0.0f, 1.0f);
706
708 1.0f, 0.0f, 0.0f, 0.0f,
709 0.0f, 1.0f, 0.0f, 0.0f,
710 0.0f, 0.0f, 1.0f, 0.0f,
711 9.7f, -8.6f, 1.3f, 1.0f);
714
716 -0.2148f, 1.3116f, 0.4752f, 0.0f,
717 0.9504f, -0.8836f, 0.9244f, 0.0f,
718 1.0212f, 0.1936f, -1.3588f, 0.0f,
719 0.0f, 0.0f, 0.0f, 1.0f);
722
724 1.0f, 0.0f, 0.0f, 0.0f,
725 0.0f, 1.0f, 0.0f, 0.0f,
726 0.0f, 0.0f, 1.0f, 0.0f,
727 0.0f, 0.0f, 0.0f, 1.0f);
730
732 1.0f, 0.0f, 0.0f, 0.0f,
733 0.0f, -3.0f, 0.0f, 0.0f,
734 0.0f, 0.0f, 7.0f, 0.0f,
735 0.0f, 0.0f, 0.0f, 1.0f);
738
740 1.0f, 0.0f, 0.0f, 0.0f,
741 0.0f, 1.0f, 0.0f, 0.0f,
742 0.0f, 0.0f, 1.0f, 0.0f,
743 0.0f, 0.0f, 0.0f, 1.0f);
746
748 1.0f, 0.0f, 0.0f, 0.0f,
749 0.0f, 1.0f, 0.0f, 0.0f,
750 0.0f, 0.0f, 1.0f, 0.0f,
751 0.0f, 0.0f, 0.0f, 1.0f);
754
756 -0.2148f, 1.3116f, 0.4752f, 0.0f,
757 0.9504f, -0.8836f, 0.9244f, 0.0f,
758 1.0212f, 0.1936f, -1.3588f, 0.0f,
759 9.7f, -8.6f, 1.3f, 1.0f);
762
764 1.0f, 0.0f, 0.0f, 0.0f,
765 0.0f, 1.0f, 0.0f, 0.0f,
766 0.0f, 0.0f, 1.0f, 0.0f,
767 9.7f, -8.6f, 1.3f, 1.0f);
770
772 1.0f, 0.0f, 0.0f, 0.0f,
773 0.0f, -3.0f, 0.0f, 0.0f,
774 0.0f, 0.0f, 7.0f, 0.0f,
775 9.7f, -8.6f, 1.3f, 1.0f);
778
780 1.0f, 0.0f, 0.0f, 0.0f,
781 0.0f, 1.0f, 0.0f, 0.0f,
782 0.0f, 0.0f, 1.0f, 0.0f,
783 9.7f, -8.6f, 1.3f, 1.0f);
786
788 1.0f, 0.0f, 0.0f, 0.0f,
789 0.0f, 1.0f, 0.0f, 0.0f,
790 0.0f, 0.0f, 1.0f, 0.0f,
791 9.7f, -8.6f, 1.3f, 1.0f);
794
796 -0.2148f, 1.3116f, 0.4752f, 0.0f,
797 0.9504f, -0.8836f, 0.9244f, 0.0f,
798 1.0212f, 0.1936f, -1.3588f, 0.0f,
799 8.5985f, -21.024f, 14.383499, 1.0f);
802
804 -0.2148f, 1.3116f, 0.4752f, 0.0f,
805 -2.8512f, 2.6508f, -2.7732f, 0.0f,
806 7.148399f, 1.3552f, -9.5116f, 0.0f,
807 0.0f, 0.0f, 0.0f, 1.0f);
810
812 -0.2148f, 1.3116f, 0.4752f, 0.0f,
813 0.9504f, -0.8836f, 0.9244f, 0.0f,
814 1.0212f, 0.1936f, -1.3588f, 0.0f,
815 0.0f, 0.0f, 0.0f, 1.0f);
818
820 -0.2148f, 1.3116f, 0.4752f, 0.0f,
821 0.9504f, -0.8836f, 0.9244f, 0.0f,
822 1.0212f, 0.1936f, -1.3588f, 0.0f,
823 0.0f, 0.0f, 0.0f, 1.0f);
826
828 1.0f, 0.0f, 0.0f, 0.0f,
829 0.0f, -3.0f, 0.0f, 0.0f,
830 0.0f, 0.0f, 7.0f, 0.0f,
831 0.0f, 0.0f, 0.0f, 1.0f);
834
836 1.0f, 0.0f, 0.0f, 0.0f,
837 0.0f, 1.0f, 0.0f, 0.0f,
838 0.0f, 0.0f, 1.0f, 0.0f,
839 0.0f, 0.0f, 0.0f, 1.0f);
842
844 1.0f, 0.0f, 0.0f, 0.0f,
845 0.0f, 1.0f, 0.0f, 0.0f,
846 0.0f, 0.0f, 1.0f, 0.0f,
847 0.0f, 0.0f, 0.0f, 1.0f);
850
852 25521.0f, 39984.0f, 20148.0f, 0.0f,
853 39984.0f, 4933.0f, -3324.0f, 0.0f,
854 20148.0f, -3324.0f, -5153.0f, 0.0f,
855 0.0f, 0.0f, 0.0f, 1.0f);
858
860 1.0f, 0.0f, 0.0f, 0.0f,
861 0.0f, -3.0f, 0.0f, 0.0f,
862 0.0f, 0.0f, 7.0f, 0.0f,
863 0.0f, 52.0f, 54.0f, 1.0f);
866
868 1.0f, 0.0f, 0.0f, 0.0f,
869 0.0f, 1.0f, 0.0f, 0.0f,
870 0.0f, 0.0f, 1.0f, 0.0f,
871 0.0f, 0.0f, 0.0f, 1.0f);
874
876 -0.2148f, 1.3116f, 0.4752f, 0.0f,
877 0.9504f, -0.8836f, 0.9244f, 0.0f,
878 1.0212f, 0.1936f, -1.3588f, 0.0f,
879 18.2985f, -29.624001f, 15.683499f, 1.0f);
882
884 -0.2148f, 1.3116f, 0.4752f, 0.0f,
885 -2.8512f, 2.6508f, -2.7732f, 0.0f,
886 7.148399f, 1.3552f, -9.5116f, 0.0f,
887 9.7f, -8.6f, 1.3f, 1.0f);
890
892 -0.2148f, 1.3116f, 0.4752f, 0.0f,
893 0.9504f, -0.8836f, 0.9244f, 0.0f,
894 1.0212f, 0.1936f, -1.3588f, 0.0f,
895 9.7f, -8.6f, 1.3f, 1.0f);
898
900 -0.2148f, 1.3116f, 0.4752f, 0.0f,
901 0.9504f, -0.8836f, 0.9244f, 0.0f,
902 1.0212f, 0.1936f, -1.3588f, 0.0f,
903 9.7f, -8.6f, 1.3f, 1.0f);
906
908 1.0f, 0.0f, 0.0f, 0.0f,
909 0.0f, -3.0f, 0.0f, 0.0f,
910 0.0f, 0.0f, 7.0f, 0.0f,
911 9.7f, -8.6f, 1.3f, 1.0f);
914
916 1.0f, 0.0f, 0.0f, 0.0f,
917 0.0f, 1.0f, 0.0f, 0.0f,
918 0.0f, 0.0f, 1.0f, 0.0f,
919 9.7f, -8.6f, 1.3f, 1.0f);
922
924 1.0f, 0.0f, 0.0f, 0.0f,
925 0.0f, 1.0f, 0.0f, 0.0f,
926 0.0f, 0.0f, 1.0f, 0.0f,
927 9.7f, -8.6f, 1.3f, 1.0f);
930
932 25521.0f, 39984.0f, 20148.0f, 0.0f,
933 39984.0f, 4933.0f, -3324.0f, 0.0f,
934 20148.0f, -3324.0f, -5153.0f, 0.0f,
935 9.7f, -8.6f, 1.3f, 1.0f);
938
940 1.0f, 0.0f, 0.0f, 0.0f,
941 0.0f, -3.0f, 0.0f, 0.0f,
942 0.0f, 0.0f, 7.0f, 0.0f,
943 9.7f, 43.400002f, 55.299999f, 1.0f);
946
948 1.0f, 0.0f, 0.0f, 0.0f,
949 0.0f, 1.0f, 0.0f, 0.0f,
950 0.0f, 0.0f, 1.0f, 0.0f,
951 9.7f, -8.6f, 1.3f, 1.0f);
954
956 -0.2148f, 1.3116f, 0.4752f, 0.0f,
957 -2.8512f, 2.6508f, -2.7732f, 0.0f,
958 7.148399f, 1.3552f, -9.5116f, 0.0f,
959 8.5985f, -21.024f, 14.383499, 1.0f);
962
964 -0.2148f, 1.3116f, 0.4752f, 0.0f,
965 0.9504f, -0.8836f, 0.9244f, 0.0f,
966 1.0212f, 0.1936f, -1.3588f, 0.0f,
967 8.5985f, -21.024f, 14.383499, 1.0f);
970
972 -0.2148f, 1.3116f, 0.4752f, 0.0f,
973 0.9504f, -0.8836f, 0.9244f, 0.0f,
974 1.0212f, 0.1936f, -1.3588f, 0.0f,
975 8.5985f, -21.024f, 14.383499, 1.0f);
978
980 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
981 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
982 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
983 0.0f, 0.0f, 0.0f, 1.0f);
986
988 -0.2148f, 1.3116f, 0.4752f, 0.0f,
989 -2.8512f, 2.6508f, -2.7732f, 0.0f,
990 7.148399f, 1.3552f, -9.5116f, 0.0f,
991 104.565598f, -35.492798f, -25.306400f, 1.0f);
994
996 -0.2148f, 1.3116f, 0.4752f, 0.0f,
997 0.9504f, -0.8836f, 0.9244f, 0.0f,
998 1.0212f, 0.1936f, -1.3588f, 0.0f,
999 0.0f, 0.0f, 0.0f, 1.0f);
1002
1004 25521.0f, 39984.0f, 20148.0f, 0.0f,
1005 39984.0f, 4933.0f, -3324.0f, 0.0f,
1006 20148.0f, -3324.0f, -5153.0f, 0.0f,
1007 0.0f, 0.0f, 0.0f, 1.0f);
1010
1012 1.0f, 0.0f, 0.0f, 0.0f,
1013 0.0f, -3.0f, 0.0f, 0.0f,
1014 0.0f, 0.0f, 7.0f, 0.0f,
1015 0.0f, 52.0f, 54.0f, 1.0f);
1018
1020 1.0f, 0.0f, 0.0f, 0.0f,
1021 0.0f, 1.0f, 0.0f, 0.0f,
1022 0.0f, 0.0f, 1.0f, 0.0f,
1023 0.0f, 0.0f, 0.0f, 1.0f);
1026
1028 25521.0f, 39984.0f, 20148.0f, 0.0f,
1029 39984.0f, 4933.0f, -3324.0f, 0.0f,
1030 20148.0f, -3324.0f, -5153.0f, 0.0f,
1031 -287420.0f, -14064.0f, 37122.0f, 1.0f);
1034
1036 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1037 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1038 7.148399f, 1.3552f, -9.5116f, 0.0f,
1039 18.2985f, -29.624001f, 15.683499f, 1.0f);
1042
1044 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1045 0.9504f, -0.8836f, 0.9244f, 0.0f,
1046 1.0212f, 0.1936f, -1.3588f, 0.0f,
1047 18.2985f, -29.624001f, 15.683499f, 1.0f);
1050
1052 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1053 0.9504f, -0.8836f, 0.9244f, 0.0f,
1054 1.0212f, 0.1936f, -1.3588f, 0.0f,
1055 18.2985f, -29.624001f, 15.683499f, 1.0f);
1058
1060 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1061 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1062 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1063 9.7f, -8.6f, 1.3f, 1.0f);
1066
1068 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1069 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1070 7.148399f, 1.3552f, -9.5116f, 0.0f,
1071 114.265594f, -44.092796f, -24.006401f, 1.0f);
1074
1076 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1077 0.9504f, -0.8836f, 0.9244f, 0.0f,
1078 1.0212f, 0.1936f, -1.3588f, 0.0f,
1079 9.7f, -8.6f, 1.3f, 1.0f);
1082
1084 25521.0f, 39984.0f, 20148.0f, 0.0f,
1085 39984.0f, 4933.0f, -3324.0f, 0.0f,
1086 20148.0f, -3324.0f, -5153.0f, 0.0f,
1087 9.7f, -8.6f, 1.3f, 1.0f);
1090
1092 1.0f, 0.0f, 0.0f, 0.0f,
1093 0.0f, -3.0f, 0.0f, 0.0f,
1094 0.0f, 0.0f, 7.0f, 0.0f,
1095 9.7f, 43.400002f, 55.299999f, 1.0f);
1098
1100 1.0f, 0.0f, 0.0f, 0.0f,
1101 0.0f, 1.0f, 0.0f, 0.0f,
1102 0.0f, 0.0f, 1.0f, 0.0f,
1103 9.7f, -8.6f, 1.3f, 1.0f);
1106
1108 25521.0f, 39984.0f, 20148.0f, 0.0f,
1109 39984.0f, 4933.0f, -3324.0f, 0.0f,
1110 20148.0f, -3324.0f, -5153.0f, 0.0f,
1111 -287410.3125f, -14072.599609f, 37123.300781f, 1.0f);
1114
1116 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1117 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1118 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1119 8.598499f, -21.024f, 14.383499f, 1.0f);
1122
1124 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1125 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1126 7.148399f, 1.3552f, -9.5116f, 0.0f,
1127 113.164093f, -56.5168f, -10.922897f, 1.0f);
1130
1132 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1133 0.9504f, -0.8836f, 0.9244f, 0.0f,
1134 1.0212f, 0.1936f, -1.3588f, 0.0f,
1135 8.5985f, -21.024f, 14.383499, 1.0f);
1138
1140 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1141 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1142 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1143 86280.34375f, -357366.3125f, -200024.125f, 1.0f);
1146
1148 25521.0f, 39984.0f, 20148.0f, 0.0f,
1149 39984.0f, 4933.0f, -3324.0f, 0.0f,
1150 20148.0f, -3324.0f, -5153.0f, 0.0f,
1151 -287410.3125f, -14064.0f, 37122.0f, 1.0f);
1154
1156 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1157 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1158 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1159 86280.34375f, -357366.3125f, -200009.75f, 1.0f);
1162
1164 25521.0f, 39984.0f, 20148.0f, 0.0f,
1165 39984.0f, 4933.0f, -3324.0f, 0.0f,
1166 20148.0f, -3324.0f, -5153.0f, 0.0f,
1167 -287410.3125f, -14072.599609f, 37123.300781f, 1.0f);
1170
1172 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1173 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1174 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1175 86290.046875f, -357374.90625f, -200022.828125f, 1.0f);
1178
1180 -0.21480007f, 1.3116000f, 0.47520003f, 0.0f,
1181 0.95040143f, -0.88360137f, 0.92439979f, 0.0f,
1182 1.0212044f, 0.19359307f, -1.3588026f, 0.0f,
1183 18.298532f, -29.624001f, 15.683499f, 1.0f);
1186
1188 -0.2148f, 1.3116f, 0.4752f, 0.0f,
1189 -2.8512f, 2.6508f, -2.7732f, 0.0f,
1190 7.148399f, 1.3552f, -9.5116f, 0.0f,
1191 122.86409f, -65.116798f, -9.622897f, 1.0f);
1194
1196 53094.015625f, 2044.133789f, 21711.687500f, 0.0f,
1197 -7294.705078f, 47440.683594f, 28077.113281, 0.0f,
1198 -12749.161133f, 28365.580078f, 13503.520508f, 0.0f,
1199 18.2985f, -29.624001f, 15.683499f, 1.0f);
1202
1203 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 1.0f;
1204 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 2.0f;
1205
1207 41.0f, -12.0f, -24.0f, 0.0f,
1208 -12.0f, 25.0f, -12.0f, 0.0f,
1209 -24.0f, -12.0f, 34.0f, 0.0f,
1210 0.0f, 0.0f, 0.0f, 1.0f);
1213
1214 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 1.0f;
1215 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1216
1218 57.0f, -12.0f, -36.0f, 0.0f,
1219 -12.0f, 25.0f, -12.0f, 0.0f,
1220 -36.0f, -12.0f, 43.0f, 0.0f,
1221 0.0f, 0.0f, 0.0f, 1.0f);
1224
1225 q.x = 1.0f;
q.y = 1.0f;
q.z = 1.0f;
q.w = 0.0f;
1226 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1227
1229 25.0f, 0.0f, -20.0f, 0.0f,
1230 0.0f, 25.0f, -20.0f, 0.0f,
1231 -20.0f, -20.0f, 35.0f, 0.0f,
1232 0.0f, 0.0f, 0.0f, 1.0f);
1235
1236 q.x = 1.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 0.0f;
1237 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1238
1240 5.0f, -4.0f, 0.0f, 0.0f,
1241 -4.0f, 5.0f, 0.0f, 0.0f,
1242 0.0f, 0.0f, 27.0f, 0.0f,
1243 0.0f, 0.0f, 0.0f, 1.0f);
1246
1247 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1248 axis.
x = 5.0f; axis.
y = 2.0f; axis.
z = 1.0f;
1249
1251 5.0f, 0.0f, 0.0f, 0.0f,
1252 0.0f, 2.0f, 0.0f, 0.0f,
1253 0.0f, 0.0f, 1.0f, 0.0f,
1254 0.0f, 0.0f, 0.0f, 1.0f);
1257
1258 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1259 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1260
1262 1.0f, 0.0f, 0.0f, 0.0f,
1263 0.0f, 4.0f, 0.0f, 0.0f,
1264 0.0f, 0.0f, 1.0f, 0.0f,
1265 0.0f, 0.0f, 0.0f, 1.0f);
1268
1269 q.x = 0.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 0.0f;
1270 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1271
1273 1.0f, 0.0f, 0.0f, 0.0f,
1274 0.0f, 4.0f, 0.0f, 0.0f,
1275 0.0f, 0.0f, 1.0f, 0.0f,
1276 0.0f, 0.0f, 0.0f, 1.0f);
1279
1280 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 1.0f;
1281 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1282
1284 1.0f, 0.0f, 0.0f, 0.0f,
1285 0.0f, 8.0f, -6.0f, 0.0f,
1286 0.0f, -6.0f, 17.0f, 0.0f,
1287 0.0f, 0.0f, 0.0f, 1.0f);
1290
1291 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 1.0f;
1292 axis.
x = 0.0f; axis.
y = 4.0f; axis.
z = 0.0f;
1293
1295 0.0f, 0.0f, 0.0f, 0.0f,
1296 0.0f, 4.0f, -8.0f, 0.0f,
1297 0.0f, -8.0f, 16.0f, 0.0f,
1298 0.0f, 0.0f, 0.0f, 1.0f);
1301
1302 q.x = 0.0f;
q.y = 1.0f;
q.z = 0.0f;
q.w = 1.0f;
1303 axis.
x = 1.0f; axis.
y = 4.0f; axis.
z = 1.0f;
1304
1306 5.0f, 0.0f, 0.0f, 0.0f,
1307 0.0f, 4.0f, 0.0f, 0.0f,
1308 0.0f, 0.0f, 5.0f, 0.0f,
1309 0.0f, 0.0f, 0.0f, 1.0f);
1312
1313 q.x = 1.0f;
q.y = 0.0f;
q.z = 0.0f;
q.w = 0.0f;
1314 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1315
1317 1.0f, 0.0f, 0.0f, 0.0f,
1318 0.0f, 1.0f, 0.0f, 0.0f,
1319 0.0f, 0.0f, 3.0f, 0.0f,
1320 0.0f, 0.0f, 0.0f, 1.0f);
1323
1324 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1325 axis.
x = 3.0f; axis.
y = 3.0f; axis.
z = 3.0f;
1326
1328 3796587.0f, -1377948.0f, -1589940.0f, 0.0f,
1329 -1377948.0f, 3334059.0f, -1879020.0f, 0.0f,
1330 -1589940.0f, -1879020.0f, 2794443.0f, 0.0f,
1331 0.0f, 0.0f, 0.0f, 1.0f);
1334
1335 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1336 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 1.0f;
1337
1339 1265529.0f, -459316.0f, -529980.0f, 0.0f,
1340 -459316.0f, 1111353.0f, -626340.0f, 0.0f,
1341 -529980.0f, -626340.0f, 931481.0f, 0.0f,
1342 0.0f, 0.0f, 0.0f, 1.0f);
1345
1346 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1347 axis.
x = 1.0f; axis.
y = 1.0f; axis.
z = 3.0f;
1348
1350 2457497.0f, -434612.0f, -1423956.0f, 0.0f,
1351 -434612.0f, 1111865.0f, -644868.0f, 0.0f,
1352 -1423956.0f, -644868.0f, 1601963.0f, 0.0f,
1353 0.0f, 0.0f, 0.0f, 1.0f);
1356
1357 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1358 axis.
x = 0.0f; axis.
y = 0.0f; axis.
z = 3.0f;
1359
1361 1787952.0f, 37056.0f, -1340964.0f, 0.0f,
1362 37056.0f, 768.0f, -27792.0f, 0.0f,
1363 -1340964.0f, -27792.0f, 1005723.0f, 0.0f,
1364 0.0f, 0.0f, 0.0f, 1.0f);
1367
1368 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1369 axis.
x = 0.0f; axis.
y = 0.0f; axis.
z = 1.0f;
1370
1372 595984.0f, 12352.0f, -446988.0f, 0.0f,
1373 12352.0f, 256.0f, -9264.0f, 0.0f,
1374 -446988.0f, -9264.0f, 335241.0f, 0.0f,
1375 0.0f, 0.0f, 0.0f, 1.0f);
1378
1379 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1380 axis.
x = 0.0f; axis.
y = 3.0f; axis.
z = 0.0f;
1381
1383 150528.0f, 464352.0f, -513408.0f, 0.0f,
1384 464352.0f, 1432443.0f, -1583772.0f, 0.0f,
1385 -513408.0f, -1583772.0f, 1751088.0f, 0.0f,
1386 0.0f, 0.0f, 0.0f, 1.0f);
1389
1390 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1391 axis.
x = 0.0f; axis.
y = 1.0f; axis.
z = 0.0f;
1392
1394 50176.0f, 154784.0f, -171136.0f, 0.0f,
1395 154784.0f, 477481.0f, -527924.0f, 0.0f,
1396 -171136.0f, -527924.0f, 583696.0f, 0.0f,
1397 0.0f, 0.0f, 0.0f, 1.0f);
1400
1401 q.x = 11.0f;
q.y = 13.0f;
q.z = 15.0f;
q.w = 17.0f;
1402 axis.
x = 1.0f; axis.
y = 0.0f; axis.
z = 0.0f;
1403
1405 619369.0f, -626452.0f, 88144.0f, 0.0f,
1406 -626452.0f, 633616.0f, -89152.0f, 0.0f,
1407 88144.0f, -89152, 12544.0f, 0.0f,
1408 0.0f, 0.0f, 0.0f, 1.0f);
1411
1412
1414 1.0f, 0.0f, 0.0f, 0.0f,
1415 0.0f, 1.0f, 0.0f, 0.0f,
1416 0.0f, 0.0f, 1.0f, 0.0f,
1417 0.69f, 0.53f, 4.11f, 1.0f);
1420
1421
1423 10.0f, 11.0f, 19.0f, 2.0f,
1424 5.0f, 20.0f, -21.0f, 3.0f,
1425 7.0f, 16.0f, 30.f, -4.0f,
1426 8.0f, 33.0f, 43.0f, -40.0f);
1429}
D3DXMATRIX *WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *out, const D3DXVECTOR3 *eye, const D3DXVECTOR3 *at, const D3DXVECTOR3 *up)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *out, FLOAT yaw, FLOAT pitch, FLOAT roll)
D3DXMATRIX *WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, const D3DXPLANE *pplane)
D3DXMATRIX *WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
FLOAT WINAPI D3DXMatrixDeterminant(const D3DXMATRIX *pm)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, const D3DXMATRIX *pm)
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *out, const D3DXVECTOR3 *v, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixTranspose(D3DXMATRIX *out, const D3DXMATRIX *in)
D3DXMATRIX *WINAPI D3DXMatrixTransformation(D3DXMATRIX *out, const D3DXVECTOR3 *scaling_center, const D3DXQUATERNION *scaling_rotation, const D3DXVECTOR3 *scaling, const D3DXVECTOR3 *rotation_center, const D3DXQUATERNION *rotation, const D3DXVECTOR3 *translation)
D3DXMATRIX *WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *out, const D3DXVECTOR3 *eye, const D3DXVECTOR3 *at, const D3DXVECTOR3 *up)
D3DXMATRIX *WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, const D3DXQUATERNION *pq)
D3DXMATRIX *WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, const D3DXVECTOR4 *plight, const D3DXPLANE *pplane)
D3DXMATRIX *WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *out, FLOAT scaling, const D3DXVECTOR3 *rotationcenter, const D3DXQUATERNION *rotation, const D3DXVECTOR3 *translation)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz)
_ACRTIMP double __cdecl sqrt(double)
GLdouble GLdouble GLdouble GLdouble q
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
#define expect_matrix(expected, matrix, ulps)
static void set_matrix(D3DXMATRIX *mat, float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33)
static const LARGE_INTEGER *static const HANDLE const LARGE_INTEGER *static PSLIST_ENTRY PSLIST_ENTRY last