Upload
wegra-bokyeon-lee
View
992
Download
102
Embed Size (px)
Citation preview
DirectX 12 3D
1 2017 05 25
D. / /
() / 7 83 () IT
02 325 5544 / 02 336 7124 1999 6 24 10 1779 / ISBN 978-89-6848-779-8 93000
/ /
, , / , , / ,
()
. . .
www.hanbit.co.kr / [email protected]
INTRODUCTION TO 3D GAME PROGRAMMING WITH DIRECTX 12
Translation Copyright 2017 by Hanbit Media, Inc.
Original Copyright 2016 by MERCURY LEARNING AND INFORMATION LLC. All rights reserved.
() .
.
.
( [email protected] ) . () .
iv
D. Frank D. Luna
15 3 . DirectX
, 3 3 ,
. (University of California, Irvine )
.
1996 , Knuth
(The Art of Computer Programming )
50 . DirectX 11
3D Game Programming Gems , Game Engine
Gems , 3D & 1, 2 .
,
DocBook (http://docbook.kr/)
.
occams Razor (http://occamsrazr.net/) Game Programming
Gems GpgStudy (http://www.
gpgstudy.com/) .
v
?
.
. ,
. C++,
, , .
, , .
DirectX API
. .
C++, DirectX, OpenGL .
C++ DirectX/OpenGL
. . C++
API .
DirectX 9 , .
DirectX 12 API , , 3D
, 3D
. DirectX 12 .
. &
.
.
.
.
, ()
vi
DirectX 12 3D D. DirectX
Introduction to 3D Game Programming with DirectX 12 (Mercury
Learning, 2016 ) . Introduction to 3D Game
Programming with DirectX 9.0 (Wordware, 2003 ) 2004 DirectX 9 3D
GAME ( , ) ,
. DirectX 10 11 12 ,
. DirectX 11 (DirectX 11 3D
, , 2014 ), DirectX 12 .
,
DirectX
. OpenGL DirectX
,
.
( )
. DirectX 12
, DirectX 12 .
! ,
. DirectX 12 API 3
,
.
.
, , ,
. DirectX . DirectX
vii
Microsoft , DirectX
. ,
(ID3D10Device, ID3D11Device, ID3D12Device ).
. , DirectX 12 DirectX 11
, .
, DirectX 12
. .
( )
, .
,
.
, , GpgStudy
(http://www.gpgstudy.com/) GPG . GPG
.
.
, .
, .
. , ,
.
_
viii
Direct3D 12 3
Windows (Windows , , Xbox One )
. Direct3D (low-level ) ,
Direct3D API (application programming interface, )
. Direct3D
. Direct3D
. , (interactive, ) 3
. ,
. , PC 3
GPU (graphics processing unit, )
. GPU (general
purpose GPU computing, GPGPU computing ) , Direct3D 12
GPU API . Direct3D
C++ , SharpDX (http://sharpdx.org/ ) .NET
wrapper 3D API (managed )
.
Direct3D 12 ,
. Direct3D ,
. (part ) . 1
. 2 Direct3D , 3
, , , , , , ,
Direct3D . 3 Direct3D
,
, , , , , , ,
ix
.
.
.
. .
.
.
,
.
.
.
.
1. Direct3D 3 C++ .
2. DirectX API ( OpenGL ) Direct3D 12 3
.
3. Direct3D Direct3D .
, Direct3D 12 , 3D
. .
.
1. : , , (
) .
x
2. Visual Studio : , ,
.
3. C++ : , , ,
(linked list ), , .
4. Win32 API Windows . Win32
A .
Direct3D 12 .
1. Windows 10
2. Visual Studio 2015
3. Direct3D 12 . GTX 760 .
DirectX SDK SDK
Direct3D API
. , DirectX SDK
. DirectX MSDN . URL .
https://msdn.microsoft.com/en-us/library/windows/desktop/dn899121%
28v=vs.85%29.aspx
[ 1 ] .
DirectX DirectX API .
. ,
, . , DirectX
xi
.
MSDN . DirectX
, ID3D12Device::CreateCommittedResource
, .
. [ 2]
.
: DirectX .
1 MSDN DirectX Direct3D 12 Programming Guide.
xii
2 .
, Direct3D 12 .
https://github.com/Microsoft/DirectX-Graphics-Samples
. , NVIDIA AMD, Intel
Direct3D 12 .
Direct3D 12 ,
Direct3D
xiii
.
,
.
. , Direct3D API
Direct3D
. , (data-driven )
. 3
Direct3D
. Direct3D API .
(www.d3dcoder.net www.merclearning.com )
.
( ) .* DirectX
, . ,
. (
.) ,
, .
.
* , GitHub (https://github.com/d3dcoder/d3d12book) . GitHub( Git) Clone or download Download
ZIP . (http://www.hanbit.co.kr/src/2779) .
xiv
Visual Studio 2015
(.vcxproj ) (.sln )
. Visual Studio 2015 (VS15 )
() . , 6
(Box) .
.
C:\d3d12book .
, . , Common
. .
.
C:\d3d12book\MyDemos .
( ) .
: , .
(include )
. , Common Visual Studio .
xv
Win32
Visual Studio 2015 > > (
3 ).
( 4 ).
Visual C++ > Win32 , Win32 . ,
( MyD3D12Project )
( C:\d3d12book\MyDemos ) . ,
. .
. ,
[ 5] . Windows
. .*
, Win32 . DirectX
.
3 .
* Visual Studio SDL(Security Development Lifecycle) , .
xvi
4 .
5 .
xvii
DirectX
.
, Common/d3dApp.h #pragma .
// d3d12 .
#pragma comment(lib, "d3dcompiler.lib")
#pragma comment(lib, "D3D12.lib")
#pragma comment(lib, "dxgi.lib")
()
.
.
.
. Box (d3d12book\Chapter 6 Drawing in
Direct3D\Box ) BoxApp.cpp Shaders .
.
1. >
, BoxApp.cpp .
2. >
, Common .h/.cpp .
[ 6] .
xviii
7 Box .
3. . >
, 10 .
Windows 10 10.x .
.*
* 10 ( 8.1 ) Windows SDK . , Windows 10 Windows SDK MSDN . ,
.
( 10 ) .
6 Box Commons .
xix
4. ,
. > , ,
. [ 7] .
: Common .
,
.
xx
CONTENTS
........................................................................................................... iv
.............................................................................................................................. v
...................................................................................................................... vi
.............................................................................................................................. viii
PART I
CHAPTER 1 3
1.1 .......................................................................................................................... 3
1.1.1 ................................................................................................... 5
1.1.2 .................................................................. 7
1.1.3 ......................................................................................... 7
1.2 .......................................................................................................... 9
1.3 ........................................................................................................................ 11
1.3.1 ........................................................................................................... 13
1.4 ........................................................................................................................ 15
1.4.1 2 .............................................................................................. 17
1.4.2 ....................................................................................... 17
1.5 ........................................................................................................................... 18
1.6 DirectXMath ................................................................................. 20
1.6.1 .................................................................................................... 21
1.6.2 ............................................................................................ 23
1.6.3 ................................................................................................. 24
1.6.4 ....................................................................................................... 26
1.6.5 ........................................................................................ 27
xxi
1.6.6 ............................................................................................ 27
1.6.7 ....................................................................................................... 28
1.6.8 .................................................................................................... 30
1.6.9 .............................................................................................. 34
1.7 ........................................................................................................................ 36
1.8 .................................................................................................................. 38
CHAPTER 2 43
2.1 ........................................................................................................................ 43
2.2 ................................................................................................................. 46
2.2.1 ............................................................................................................... 46
2.2.2 .......................................................................................... 47
2.2.3 ........................................................................................................ 48
2.3 .................................................................................................................. 48
2.4 .................................................................................................................. 49
2.5 ..................................................................................................................... 50
2.5.1 ........................................................................................................... 51
2.5.2 ................................................................................................. 51
2.6 .................................................................................................................. 53
2.7 ..................................................................................................................... 54
2.8 DirectXMath ................................................................................................. 56
2.8.1 .................................................................................................... 56
2.8.2 ....................................................................................................... 59
2.8.3 DirectXMath ...................................................................... 60
2.9 ........................................................................................................................ 62
2.10 ................................................................................................................ 64
xxii
CONTENTS
CHAPTER 3 67
3.1 .................................................................................................................. 68
3.1.1 ............................................................................................................... 68
3.1.2 ....................................................................................................... 69
3.1.3 ............................................................................................................... 70
3.1.4 ............................................................................................................... 72
3.2 .................................................................................................................. 75
3.2.1 ........................................................................................................ 75
3.2.2 ............................................................................. 76
3.2.3 ............................................................................................................... 76
3.2.4 ................................................................... 79
3.2.5 .......................................................................... 79
3.3 ........................................................................................................... 81
3.4 .......................................................................................................... 82
3.4.1 ............................................................................................................... 84
3.4.2 .................................................................................................................. 85
3.4.3 ....................................................................................................... 86
3.4.4 ................................................................................ 86
3.4.5 ................................................................................... 87
3.5 ........................................................................................ 89
3.6 DirectXMath ................................................................. 90
3.7 ........................................................................................................................ 91
3.8 .................................................................................................................. 92
xxiii
PART II Direct3D
CHAPTER 4 Direct3D 103
4.1 ............................................................................................................... 104
4.1.1 Direct3D 12 ...................................................................................... 104
4.1.2 COM ......................................................................................................... 105
4.1.3 .................................................................................................. 106
4.1.4 ................................................................................. 108
4.1.5 .................................................................................................. 109
4.1.6 ............................................................................................... 112
4.1.7 ......................................................................................... 115
4.1.8 Direct3D .................................................................................. 116
4.1.9 ..................................................................................................... 118
4.1.10 DXGI(DirectX Graphics Infrastructure) ....................................................... 119
4.1.11 ............................................................................................ 124
4.1.12 ....................................................................................................... 126
4.2 CPU GPU .......................................................................................... 127
4.2.1 ................................................................................. 127
4.2.2 CPU/GPU ........................................................................................ 132
4.2.3 .............................................................................................. 135
4.2.4 ................................................................ 137
4.3 Direct3D .................................................................................................. 137
4.3.1 ..................................................................................................... 138
4.3.2 ....................................................................... 140
4.3.3 4X MSAA ....................................................................... 141
4.3.4 .......................................................................... 141
xxiv
CONTENTS
4.3.5 ................................................................................. 142
4.3.6 .............................................................................................. 145
4.3.7 (RTV) .................................................................................. 146
4.3.8 ............................................................................ 148
4.3.9 .................................................................................................. 153
4.3.10 ...................................................................................... 155
4.4 ............................................................................................ 156
4.4.1 .................................................................................................. 157
4.4.2 GameTimer ...................................................................................... 158
4.4.3 ....................................................................................... 159
4.4.4 ..................................................................................................... 162
4.5 .................................................................................. 166
4.5.1 D3DApp ........................................................................................... 166
4.5.2 .................................................................. 170
4.5.3 ...................................................................................... 171
4.5.4 ............................................................................................... 173
4.5.5 ............................................................................................... 175
4.5.6 Direct3D (Init Direct3D) .............................................................. 178
4.6 Direct3D .............................................................................. 183
4.7 ...................................................................................................................... 185
CHAPTER 5 189
5.1 3 .......................................................................................................... 190
5.2 ............................................................................................................ 193
5.3 ........................................................................................... 194
5.3.1 ..................................................................................................... 195
xxv
5.3.2 128 ............................................................................................... 196
5.3.3 32 ................................................................................................. 197
5.4 ......................................................................................... 199
5.5 ..................................................................................................... 201
5.5.1 ............................................................................................................. 201
5.5.2 ......................................................................................... 202
5.5.3 ............................................................................................................. 206
5.6 ..................................................................................................... 209
5.6.1 .................................................................................... 209
5.6.2 ..................................................................................................... 214
5.6.3 .................................................................................... 217
5.7 ................................................................................................... 226
5.8 ..................................................................................................... 227
5.9 ...................................................................................................................... 228
5.10 ....................................................................................................... 230
5.10.1 ................................................................................................ 230
5.10.2 ................................................................................................... 230
5.10.3 ......................................................................................... 232
5.11 ................................................................................................... 234
5.12 ................................................................................................... 234
5.13 .................................................................................................................... 235
5.14 .............................................................................................................. 236
CHAPTER 6 Direct3D 241
6.1 ..................................................................................................... 241
6.2 ............................................................................................................... 246
xxvi
6.3 ..................................................................................................... 253
6.4 ..................................................................................................... 257
6.4.1 ...................................................................... 261
6.5 ..................................................................................................... 264
6.6 ............................................................................................................... 268
6.6.1 ........................................................................................... 268
6.6.2 ........................................................................................... 270
6.6.3 ................................................................................. 271
6.6.4 ........................................................................................... 275
6.6.5 .............................................................................. 276
6.7 ...................................................................................................... 281
6.7.1 ............................................................................................ 283
6.7.2 ........................................................................................ 285
6.7.3 Visual Studio ................................................ 288
6.8 ...................................................................................................... 289
6.9 ............................................................................................... 290
6.10 ............................................................................................. 295
6.11 ............................................................................................................. 297
6.12 .................................................................................................................... 309
6.13 .............................................................................................................. 311
CHAPTER 7 Direct3D 2 317
7.1 ............................................................................................................ 318
7.2 ............................................................................................................... 322
7.3 ..................................................................................................... 323
CONTENTS
xxvii
7.4 ......................................................................................................... 327
7.4.1 ........................................................................................ 329
7.4.2 .............................................................................................. 334
7.4.3 ........................................................................................ 334
7.5 ............................................................................................................... 338
7.5.1 .................................................................................... 338
7.5.2 ..................................................................................................... 342
7.5.3 ....................................................................... 345
7.5.4 .................................................................................................. 348
7.6 ................................................................................................. 351
7.6.1 ............................................................................................... 351
7.6.2 ............................................................................................... 354
7.6.3 .................................................................................................. 357
7.6.4 ..................................................................................................... 357
7.6.5 ............................................................................ 359
7.6.6 .................................................................................... 361
7.7 ..................................................................................................... 362
7.7.1 .............................................................................................. 363
7.7.2 .............................................................................................. 365
7.7.3 .............................................................................................. 366
7.7.4 CBV .................................................................................................... 369
7.7.5 .............................................................................................. 371
7.8 ...................................................................................................................... 374
7.9 ................................................................................................................ 375
xxviii
CHAPTER 8 377
8.1 ............................................................................................... 378
8.2 ............................................................................................................... 380
8.2.1 ........................................................................................... 382
8.2.2 ........................................................................................... 384
8.3 ..................................................................................................... 386
8.4 ............................................................................................... 387
8.5 ............................................................................................................... 388
8.6 ............................................................................................................... 390
8.7 ............................................................................................................... 391
8.7.1 .................................................................................................. 392
8.7.2 .................................................................................................. 394
8.8 ........................................................................................................ 397
8.9 ............................................................................................................ 399
8.10 ................................................................................................................. 404
8.11 .................................................................................................................... 405
8.11.1 ................................................................................................... 406
8.12 ................................................................................................................. 407
8.13 ............................................................................................................. 408
8.13.1 ................................................................................................... 408
8.13.2 ......................................................................................... 410
8.13.3 ............................................................................................. 412
8.13.4 ................................................................................................ 413
8.13.5 ............................................................................................. 413
8.13.6 ............................................................................................ 414
8.13.7 HLSL ............................................................................................. 416
CONTENTS
xxix
8.14 ...................................................................................................... 419
8.14.1 ................................................................................................... 420
8.14.2 ................................................................................................... 421
8.14.3 ............................................................................................ 423
8.14.4 ............................................................................................ 424
8.15 .................................................................................................................... 425
8.16 .............................................................................................................. 426
CHAPTER 9 429
9.1 ............................................................................................... 430
9.2 ............................................................................................................ 433
9.3 ..................................................................................................... 436
9.3.1 DDS ................................................................................................. 436
9.3.2 DDS .......................................................................................... 438
9.4 .............................................................................................. 439
9.4.1 DDS ....................................................................................... 439
9.4.2 SRV ........................................................................................................ 440
9.4.3 SRV .......................................................................................... 440
9.4.4 ............................................................................ 443
9.5 ...................................................................................................................... 446
9.5.1 ............................................................................................................. 446
9.5.2 ............................................................................................................. 448
9.5.3 ............................................................................................... 449
9.6 .............................................................................................. 450
9.7 ...................................................................................................... 453
9.7.1 ............................................................................................ 454
xxx
9.7.2 ............................................................................................ 457
9.8 ..................................................................................... 460
9.9 ........................................................................................................ 461
9.9.1 ........................................................................................ 461
9.9.2 .................................................................................................. 462
9.9.3 .................................................................................................. 463
9.9.4 HLSL ................................................................................................ 464
9.10 .......................................................................................................... 467
9.11 .................................................................................. 468
9.11.1 .................................................................................. 469
9.11.2 ............................................................................................. 471
9.11.3 ....................................................................................... 471
9.12 .................................................................................................................... 472
9.13 .............................................................................................................. 473
CHAPTER 10 477
10.1 ............................................................................................................. 478
10.2 ............................................................................................................. 479
10.3 ............................................................................................................. 481
10.4 ............................................................................................................. 482
10.5 .................................................................................................................... 486
10.5.1 ............................................................................................ 486
10.5.2 .................................................................................. 487
10.5.3 ................................................................................................... 487
10.5.4 ....................................................................................................... 488
10.5.5 ......................................................................................... 489
CONTENTS
xxxi
10.6 ............................................................................................................. 490
10.7 ....................................................................................................... 491
10.8 .................................................................................................................... 494
10.9 .................................................................................................................... 501
10.10 ............................................................................................................ 502
CHAPTER 11 503
11.1 ............................................................. 504
11.2 .......................................................................................................... 506
11.3 ........................................................................................ 507
11.3.1 ................................................................................................ 508
11.3.2 ............................................................................................. 508
11.3.3 ................................................................... 511
11.4 ....................................................................................................... 511
11.4.1 ......................................................................................... 512
11.4.2 ............................................................... 515
11.4.3 ................................................................................................ 516
11.4.4 .................................................................................. 518
11.5 ................................................................................................ 519
11.5.1 ............................................................................................. 520
11.5.2 ................................................................................................ 522
11.5.3 ......................................................................................... 523
11.5.4 .............................................................. 524
11.5.5 .................................................................................. 525
11.6 .................................................................................................................... 527
11.7 .............................................................................................................. 527
xxxii
CHAPTER 12 535
12.1 .......................................................................................... 536
12.2 ................................................................................................... 543
12.2.1 ........................................................................................................... 543
12.2.2 ................................................................................................ 545
12.2.3 HLSL ................................................................................................. 546
12.2.4 SV_PrimitiveID .......................................................................................... 551
12.3 .......................................................................................................... 553
12.3.1 ........................................................................................................... 553
12.3.2 ............................................................................... 553
12.3.3 ...................................................................................... 555
12.3.4 .......................................................................................... 556
12.4 - .................................................................................................. 557
12.5 .................................................................................................................... 558
12.6 .............................................................................................................. 560
CHAPTER 13 565
13.1 ............................................................................................. 568
13.2 ......................................................................................... 570
13.2.1 ......................................................................................... 571
13.3 ..................................................................................... 572
13.3.1 ................................................................................................ 572
13.3.2 (UAV) ........................................................... 572
13.3.3 ........................................................................... 576
13.3.4 ......................................................................................... 579
CONTENTS
xxxiii
13.3.5 .................................................... 582
13.4 ............................................................................................ 586
13.5 ............................................................................................ 588
13.6 ............................................................................................. 589
13.7 .......................................................................................................... 591
13.7.1 ............................................................................................. 592
13.7.2 ............................................................................... 595
13.7.3 ...................................................................................... 598
13.7.4 ................................................................................... 605
13.8 .......................................................................................................... 611
13.9 .................................................................................................................... 612
13.10 ............................................................................................................ 614
CHAPTER 14 621
14.1 ................................................................................. 623
14.1.1 ............................................................................. 624
14.2 .......................................................................................................... 624
14.2.1 ......................................................................................... 624
14.2.2 ...................................................................................... 627
14.3 .................................................................................................... 630
14.3.1 ......................................................................... 630
14.3.2 ......................................................................... 631
14.4 .......................................................................................................... 631
14.5 ....................................................................................... 633
14.6 ......................................................................................... 638
14.6.1 ................................................................................................ 638
xxxiv
14.6.2 ......................................................................................... 641
14.6.3 ........................................................................... 642
14.6.4 ................................................................................... 645
14.7 .................................................................................................................... 647
14.8 .............................................................................................................. 649
PART III
CHAPTER 15 1 655
15.1 ...................................................................................................... 656
15.2 Camera .......................................................................... 657
15.3 ................................................................................................... 660
15.3.1 XMVECTOR ................................................................ 660
15.3.2 SetLens .......................................................................................... 660
15.3.3 ......................................................................................... 661
15.3.4 ................................................................................................ 662
15.3.5 ............................................................................................ 663
15.4 ................................................................................................... 665
15.5 .......................................................................................................... 667
15.6 .................................................................................................................... 675
15.7 .............................................................................................................. 675
CONTENTS
xxxv
CHAPTER 16 677
16.1 ................................................................................................. 677
16.1.1 ................................................................ 678
16.1.2 .......................................................................................... 679
16.1.3 ...................................................................................... 685
16.2 ................................................................................................. 688
16.2.1 DirectXMath ................................................................... 688
16.2.2 .................................................................................................... 688
16.2.3 ....................................................................................................... 693
16.2.4 ....................................................................................................... 694
16.3 .......................................................................................................... 701
16.4 .................................................................................................................... 705
16.5 .............................................................................................................. 706
CHAPTER 17 3 709
17.1 ................................................................................... 711
17.2 ........................................................................ 715
17.3 ........................................................................................ 716
17.3.1 AABB ........................................................................... 718
17.3.2 ................................................................................. 719
17.3.3 ........................................................................... 720
17.4 ................................................................................................ 723
17.5 .................................................................................................................... 724
17.6 .............................................................................................................. 725
xxxvi
CHAPTER 18 727
18.1 .......................................................................................................... 727
18.2 ............................................................................................................. 729
18.2.1 ............................................................................... 732
18.3 ............................................................................................. 733
18.4 ............................................................................................ 738
18.5 ...................................................................................................... 742
18.5.1 ........................................................................... 743
18.5.2 ..................................................................................... 744
18.5.3 ..................................................................................... 745
18.5.4 ................................................................................................ 747
18.5.5 ............................................................................................ 748
18.5.6 .................................................................. 749
18.5.7 .................................................................................. 750
18.5.8 ............................................................................ 752
18.6 ..................................................................... 756
18.7 .................................................................................................................... 759
18.8 .............................................................................................................. 760
CHAPTER 19 763
19.1 .................................................................................................................... 764
19.2 ................................................................................................................ 765
19.3 ......................................................................................... 767
19.4 .......................................................................................................... 769
19.5 ............................................................................... 770
CONTENTS
xxxvii
19.6 ............................................................................................ 772
19.7 .................................................................................................................... 777
19.8 .............................................................................................................. 777
CHAPTER 20 781
20.1 ................................................................................................ 781
20.2 .............................................................................................................. 785
20.3 ................................................................................................... 787
20.3.1 ................................................................................................... 789
20.3.2 ...................................................................................... 790
20.3.3 .................................................................................................... 791
20.4 .......................................................................................................... 792
20.4.1 ............................................................................................. 792
20.4.2 .......................................................................................... 794
20.4.3 (PCF) ................................................................................. 798
20.4.4 ............................................................................................ 802
20.4.5 ................................................................................................ 808
20.4.6 ............................................................................................ 810
20.4.7 ...................................................................................... 811
20.5 PCF ........................................................................................................... 812
20.5.1 ddx ddy ................................................................................... 812
20.5.2 PCF ................................................................................ 813
20.5.3 PCF ..................................................................... 816
20.6 .................................................................................................................... 818
20.7 .............................................................................................................. 819
xxxviii
CHAPTER 21 821
21.1 ............................................................................... 822
21.2 (SSAO) ................................................................................. 827
21.2.1 ............................................................................... 827
21.2.2 ......................................................................................... 829
21.2.3 ................................................................................................ 840
21.2.4 .................................................................................. 844
21.3 .................................................................................................................... 846
21.4 .............................................................................................................. 847
CHAPTER 22 849
22.1 .......................................................................................................... 850
22.1.1 ........................................................................................................... 850
22.1.2 ............................................................................................. 851
22.1.3 ...................................................................................... 852
22.2 ....................................................................................................... 853
22.2.1 ......................................................................................... 853
22.2.2 ................................................................................................ 855
22.2.3 ...................................................................................... 855
22.2.4 ........................................................................................................... 856
22.2.5 ................................................................................................ 856
22.2.6 .............................................................................................................. 858
22.2.7 ....................................................................................................... 858
22.3 ................................................................................................ 860
22.3.1 ................................................................................................ 860
CONTENTS
xxxix
22.3.2 .................................................................. 862
22.3.3 .................................................................. 864
22.3.4 ........................................................................................................... 866
22.4 .......................................................................................................... 866
22.5 DirectXMath ................................................................ 872
22.6 ................................................................................................... 873
22.7 .................................................................................................................... 879
22.8 .............................................................................................................. 880
CHAPTER 23 883
23.1 ....................................................................................... 884
23.1.1 ................................................................................................ 885
23.2 .......................................................................................................... 888
23.2.1 ........................................................................................................... 888
23.2.2 ...................................................................................... 889
23.2.3 ................................................................................................ 890
23.2.4 ....................................................................................... 890
23.2.5 ............................................................................................ 893
23.3 ............................................................................................................. 895
23.4 ................................................................................ 899
23.4.1 ........................................................................................................... 899
23.4.2 ................................................................................................... 900
23.4.3 ............................................................................................. 901
23.4.4 ..................................................................................... 902
23.4.5 .................................................................................. 902
23.4.6 ............................................................................................. 903
xl
23.4.7 .......................................................................................... 903
23.4.8 M3DLoader .................................................................................... 906
23.5 .......................................................................................... 908
23.6 .................................................................................................................... 911
23.7 .............................................................................................................. 913
APPENDIX A Windows 915
A.1 ...................................................................................................................... 916
A.1.1 ............................................................................................................ 916
A.1.2 , , , .......................................................... 917
A.1.3 (GUI) ....................................................................... 919
A.1.4 ...................................................................................................... 920
A.2 Windows ............................................................................ 920
A.3 Windows ........................................................................... 925
A.3.1 , , ....................................................................... 925
A.3.2 WinMain .............................................................................................. 926
A.3.3 WNDCLASS ............................................................ 926
A.3.4 ........................................................................................... 929
A.3.5 .................................................................................................. 932
A.3.6 .................................................................................................. 933
A.3.7 MessageBox ....................................................................................... 935
A.4 ................................................................................................. 936
A.5 ...................................................................................................................... 937
A.6 ................................................................................................................ 938
CONTENTS
xli
APPENDIX B HLSL 939
B.1 ............................................................................................................... 939
B.1.1 .................................................................................................. 939
B.1.2 ..................................................................................................... 939
B.1.3 ..................................................................................................... 941
B.1.4 ............................................................................................................ 943
B.1.5 ......................................................................................................... 943
B.1.6 typedef ............................................................................................ 944
B.1.7 ........................................................................................... 944
B.1.8 ......................................................................................................... 945
B.2 ...................................................................................................... 946
B.2.1 ......................................................................................................... 946
B.2.2 ......................................................................................................... 946
B.3 ...................................................................................................... 948
B.4 ...................................................................................................................... 949
B.4.1 ........................................................................................... 949
B.4.2 ..................................................................................................... 951
B.4.3 ................................................................................ 954
APPENDIX C 959
C.1 , , ...................................................................................................... 959
C.2 ............................................................................................................ 960
C.3 .................................................................................................................. 961
C.4 ..................................................................................................................... 962
C.4.1 DirectXMath ............................................................. 963
xlii
C.4.2 ................................................................................... 964
C.4.3 .................................................................................................. 965
C.4.4 ............................................................................................... 966
C.4.5 .................................................................................................. 966
C.4.6 .................................................................. 967
C.4.7 ..................................................................................... 967
C.4.8 .................................................................................................. 968
C.4.9 ..................................................................................................... 968
C.4.10 .................................................................................................... 968
C.5 ............................................................................................................... 970
APPENDIX D 973
APPENDIX E 975
....................................................................................................................... 981
CONTENTS
11.6 DirectXMath
Part
I .
Roger Bacon, Opus Majus part 4 Distinctia Prima cap 1, 1267.
.
. . ,
.
.
1 .
, , . ,
DirectXMath .
1 ,
. .
E [Verth04] [Lengyel02]
.
1 : .
, , , , . 1
.
2 : . 2
.
3 : 3 , ,
. 3 3 . , 3
.
Part I
3
,
.
. 3 [Verth04 ]
.
.
1. .
2. .
3. DirectXMath .
1.1
(vector, ) (quantity ) .
(magnitude ) (direction )
(vector-valued quantity ) . (force;
, (strength ) ), (displacement;
CHAPTER 1
4 1
1.1 (a) 2 . (b) 10 .
), ( ) . ,
(velocity )* . , 3
, ,
.
, .
, (directed line segment ) (
1.1 ). .
. (
) .
, (equal ). [ 1.1 (a ) ] u v
. ,
(translation, )
( ). u v (v
) .
. , [ 1.1 (b ) ] u v A B
. u = v.
* velocity (speed) , . velocity, ,
(speed). , ( , ) .
51.1
. .
() 10() .
1.1.1 , .
.
, . ,
3
( 1.2 ). ( ) , [
1.3 ] v = (x, y, z ) . 3
(float double ) .
: 2 2 .
. , v = (x, y ), .
[ 1.4 ] . v . (
(frame of reference ), (space ), (coordinate system )
.) , [ 1.4 ]
v A B .
1.2 v .
.
1.3 .
6 1
A * v B v
. , v
.
. 100 212.
(
).
. ,
. . ,
. 3
,
. ,
.
: (point ) (x, y, z ) . . 3 .
1.5 .
* ~ ~ . ~ ~ . A v , A v , v A .
1.4 v .
71.1
1.5 . z ( ) . , z .
1.1.2 Direct3D (left-handed coordinate system ) .
x 90 y
, z . [ 1.5 ]
.
, x
y z .
1.1.3 , , , .
u = (ux, uy, uz ) v = (vx, vy, vz ).
1. ( ) ,
. , ux = vx, uy = vy, uz = vz u = v.
2. . , u + v = (ux + vx, uy + vy, uz + vz ).
.
3. (scalar*, ) , . k
, ku = (kux, kuy, kuz ). .
* .
8 1
4. . , u - v = u +
(-1v ) = u + (-v ) = (ux - vx, uy - vy, uz - vz ).
1.1
u = (1, 2, 3 ), v = (1, 2, 3 ), w = (3, 0, -2 ), k = 2 .
1. u + w = (1, 2, 3 ) + (3, 0, -2 ) = (4, 2, 1 ),
2. u = v,
3. u - v = u + (-v ) = (1, 2, 3 ) + (-1, -2, -3 ) = (0, 0, 0 ) = 0,
4. kw = 2 (3, 0, -2 ) = (6, 0, -4 ).
3 (zero-vector ) .
0 , 0 .
1.2
, 2 . 3
. 2 .
1. v = (2, 1 ) . v -12 v ? -12 v =
(-1, -12 ) . v -12 v ( 1.6 (a ) ),
-12 v v 1/2 . ,
(negation, )
, () () .
1.6 (a) . (b) . (c) .
(b)(a) (c)
91.2
1.7 . .
2. u = (2, 12 ) v = (1, 2 ) . u + v = (3, 52 ). [ 1.6 (b ) ]
. u v
, v u ( )
. (u v u
. u + v u v ( )
.) , (net
force, ) .
() ( ) .
() ( ) .
[ 1.7 ] .
3. u = (2, 12 ) v = (1, 2 ) . v - u = (-1, 32 ). [ 1.6 (c ) ]
. , v - u u
v . u v , v - u u
v .
. , u v
v - u u v .
1.2
. ()
. u u. u = (x, y, z ) ,
. [ 1.8 ] , 3
10 1
.
xz , x z a
. a = x2 + z2. a y
u . ,
.
y2 + a2 = y2 +( x2 + z2 )2 = x2 + y2 + z2u = ( 1.1)
. 1 ( ) .
1 (unit vector ) ,
(normalization ) . .
.
= = , ,uu
xu
yu
zu ( 1.2)
, .
= xu
2
+ yu
2
+ zu
2
=u 2
uu = 1
x2 + y2 + z2 =
.
1.3
v = (-1, 3, 4 ) . v = (-1 )2 + 32 + 42 = 26,
426v = = , ,
126-
326
vv
1.8 3 .
111.3
. v .
v = 126 + +
926
1626= = 1 = 1
126
2
+- 3262
+ 4262
1.3
(dot product ) (inner product )
. (scalar product ) . u = (ux,
uy, uz ) v = (vx, vy, vz ) . .
uv = uxvx + uyvy + uzvz ( 1.3)
.
,
( 10 ) .
uv = ||u|| ||v|| cos ( 1.4)
u v , 0 ( 1.9 ).
1.4 .
, u v uv (, uv =
cos ).
1.4 . .
1. uv = 0 u v(, ).
2. uv 0 90 (,
).
1.9 u v . u v . . , 0 .
12 1
3. uv 0 90 (,
).
: (orthogonal ) (perpendicular ) .
1.4
u = (1, 2, 3 ) v = (-4, 0, -1 ) , u v .
.
uv = (1, 2, 3)(-4, 0, -1) = -4 - 3 = -7
u= 12 + 22 + 32 = 14
v= (-4)2 + 02 + (-1)2 = 17
1.4 .
cos = = -7 14 17uv
u v
= cos-1 117-7 14 17
1.5
[ 1.10 ] , v n p v n
.
, p = kn k . ,
n = 1 p = kn = |k|n = |k|. (k p n
.) k = vcos .
p = kn = (vcos )n. n , .
p = (v cos) n = (v 1cos) n = (v ncos) n = (vn)n
, k = v n. n vn
. p n v (orthographic projection; )
, .
131.3
1.10 n v .
p = projn (v)
v p v n .
, w = perpn (v ) = v - p v n
( perpn (v ) , perp perpendicular[] ).
v = p + w . , v p w .
n , n .
n n||n|| .
p = projn (v) = vn
n = n(vn)n 2
nn
1.3.1 {v0, , vn-1} (,
), (orthonormal )
.
. (orthogonalization )
. 3
. 2
3 (, 2 3 ) .
14 1
1.11 2 . 1.12 3 .
2 . {v0, v1} {w0,
w1} [ 1.11 ] . w0 = v0 , v1 w0
. , w0 v1 .
w1 = v1 - projw0 (v1)
{w0, w1} . w0 w1
.
3 2 . .
[ 1.12 ] {v0, v1, v2} {w0, w1, w2}
. w0 = v0 , v1 w0 . ,
w0 v1 .
w1 = v1 - projw0 (v1)
, v2 w0 w1 . , w0
w1 v2 .
w2 = v2 - projw0 (v2) - proj w1 (v2)
{w0, w1, w2} . w0 w1, w2
.
, n {v0, , vn-1} {w0, , wn-1}
151.4
- (Gram-Schmidt Orthogonalization )
. - .
: w0 = v0 .
1 i n-1 wi = vi - j=0
proj wj (vi ) .
: wi = wi
wi .
. vi ,
(w0, w1, , wi-1 )
, .
, .
1.4
(cross product ) (outer product ) .
. , 3
(2 ). 3 u v
u v w . , w u v
( 1.13 ). u = (ux, uy, uz ), v = (vx, vy, vz )
.
w = u v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx) ( 1.5)
: . ,
u ( 0 ) v w = u v .
1.6
u = (2, 1, 3 ), v = (2, 0, 0 ) , w = u v z = v u w u
v . 1.5
16 1
w = u v
= (2, 1, 3) (2, 0, 0)
= (10 - 30, 32 - 20, 20 - 12)
= (0, 6, -2)
z = v u
= (2, 0, 0) (2, 1, 3)
= (03 - 01, 02 - 23, 21 - 02)
= (0, - 6, 2)
. u v v u . ,
. u v = -v u .
.
v ( 90 )
( 1.13 ).
w u , v . 1.3 ,
u v = 0 u v (, ). ,
wu = (0, 6, -2)(2, 1, 3) = 02 + 61 + (-2)3 = 0
w u ,
wv = (0, 6, -2)(2, 0, 0) = 02 + 60 + (-2)0 = 0
w v .
1.13 3 u v u v w . u v ( 90 ) w = u v . (left-hand-thumb rule) .
171.4
1.14 u 2 u v .
1.4.1 2 3 .
, 2 . 2 u =
(ux, uy ) v ,
. [ 1.14 ] 2 (pseudo 2D cross product )
. , v = (-uy, ux ). .
uv = (ux, uy)(-uy, ux ) = -uxuy + uyux = 0
, u v. u-v = uxuy + uy (-ux ) = 0 . , u -v
.
1.4.2 - 1.3.1 .
3
{v0, v1, v2} . ,
[ 1.15 ] .
1. w0 = v0
v0 .
2. w2 = w0v1
w0v1 .
18 1
1.15 3 .
3. w1 = w2 w0 . 14 , w2 w0 w2 = w0
= 1 w2 w0 = 1.
.
{w0, w1, w2} .
: w0 = , v0 w0 . w1 w2 v1, v2 . , . (orientation )
{v0, v1, v2} , v2 (direction ) .
, v2 v0 v1 .
v0v0
1.5
(position ) . 3
( 3 3 )
. [ 1.16 ] ,
191.5
3 .
. .
,
.
( ) ,
() .
(sum ) .
. q - p, p q
. , p v p v ()
q . [ 1.17 ] .
,
. .
1.16 .
1.17 (a) q - p p q . (b) p v p v q .
20 1
: .
(affine combination; ) , .
1.6 DirectXMath
Windows 8 Direct3D 3
DirectXMath*. Windows SDK SSE2 (Streaming SIMD
Extensions 2 ) . SIMD 128 SIMD (single
instruction multiple data ) 32 float int
( ) . .
.
u + v = (ux + vx, uy + vy, uz + vz)
, . SIMD
4(4) SIMD
. 3 SIMD . 0
. , 2 .
DirectXMath .
. ([DirectXMath ] )
. SIMD DirectXMath
Oliveira Designing Fast
Cross-Platform SIMD Vector Libraries ([Oliveira2010 ] ) .
DirectXMath DirectXMath.h
(#include ). ,
DirectXPackedVector.h (#include
). DirectXMath.h DirectX ,
* DirectX Math , MSDN GitHub (https://github.com/Microsoft/DirectXMath) DirectXMath .
211.6 DirectXMath
DirectXPackedVector.h DirectX::PackedVector .
, x86 SSE2 ( > >
C/C++ > > ). x64 SSE2
. x64 CPU SSE2 (http://en.wikipedia.org/wiki/
SSE2 ).
1.6.1 DirectXMath SIMD XMVECTOR.
128 32 , SIMD
. x64 , SSE2 x86
.
typedef __m128 XMVECTOR;
__m128 SIMD . SIMD
. 2, 3
SIMD . 0
.
XMVECTOR 16 (alignment )* ,
. XMFLOAT2 (2
) XMFLOAT3 (3), XMFLOAT4 (4) .
.
struct XMFLOAT2
{
float x;
float y;
XMFLOAT2() {}
XMFLOAT2(float _x, float _y) : x(_x), y(_y) {}
explicit XMFLOAT2(_In_reads_(2) const float *pArray) :
* , sorting .
22 1
x(pArray[0]), y(pArray[1]) {}
XMFLOAT2& operator= (const XMFLOAT2& Float2)
{ x = Float2.x; y = Float2.y; return *this; }
};
struct XMFLOAT3
{
float x;
float y;
float z;
XMFLOAT3() {}
XMFLOAT3(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}
explicit XMFLOAT3(_In_reads_(3) const float *pArray) :
x(pArray[0]), y(pArray[1]), z(pArray[2]) {}
XMFLOAT3& operator= (const XMFLOAT3& Float3)
{ x = Float3.x; y = Float3.y; z = Float3.z; return *this; }
};
struct XMFLOAT4
{
float x;
float y;
float z;
float w;
XMFLOAT4() {}
XMFLOAT4(float _x, float _y, float _z, float _w) :
x(_x), y(_y), z(_z), w(_w) {}
explicit XMFLOAT4(_In_reads_(4) const float *pArray) :
x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
XMFLOAT4& operator= (const XMFLOAT4& Float4)
{ x = Float4.x; y = Float4.y; z = Float4.z; w = Float4.w; return *this; }
};
SIMD . SIMD
XMVECTOR . DirectXMath
(load ) . , DirectXMath XMVECTOR
XMFLOATn (store ) .
231.6 DirectXMath
.
1. XMVECTOR .
2. XMFLOAT2 XMFLOAT3, XMFLOAT4 .
3. XMFLOATn XMVECTOR .
4. XMVECTOR .
5. XMVECTOR XMFLOATn .
1.6.2 XMFLOATn XMVECTOR .
// XMFLOAT2 XMVECTOR
XMVECTOR XM_CALLCONV XMLoadFloat2(const XMFLOAT2 *pSource);
// XMFLOAT3 XMVECTOR
XMVECTOR XM_CALLCONV XMLoadFloat3(const XMFLOAT3 *pSource);
// XMFLOAT4 XMVECTOR
XMVECTOR XM_CALLCONV XMLoadFloat4(const XMFLOAT4 *pSource);
XMVECTOR XMFLOATn .
// XMVECTOR XMFLOAT2
void XM_CALLCONV XMStoreFloat2(XMFLOAT2 *pDestination, FXMVECTOR V);
// XMVECTOR XMFLOAT3
void XM_CALLCONV XMStoreFloat3(XMFLOAT3 *pDestination, FXMVECTOR V);
// XMVECTOR XMFLOAT4
void XM_CALLCONV XMStoreFloat4(XMFLOAT4 *pDestination, FXMVECTOR V);
XMVECTOR .
, .
float XM_CALLCONV XMVectorGetX(FXMVECTOR V);
float XM_CALLCONV XMVectorGetY(FXMVECTOR V);
float XM_CALLCONV XMVectorGetZ(FXMVECTOR V);
float XM_CALLCONV XMVectorGetW(FXMVECTOR V);
24 1
XMVECTOR XM_CALLCONV XMVectorSetX(FXMVECTOR V, float x);
XMVECTOR XM_CALLCONV XMVectorSetY(FXMVECTOR V, float y);
XMVECTOR XM_CALLCONV XMVectorSetZ(FXMVECTOR V, float z);
XMVECTOR XM_CALLCONV XMVectorSetW(FXMVECTOR V, float w);
1.6.3 XMVECTOR , XMVECTOR
SSE/SSE2 .
(32 Windows, 64 Windows, Windows RT )
. / XMVECTOR
FXMVECTOR, GXMVECTOR, HXMVECTOR, CXMVECTOR .
, SSE/SSE2 ,
XM_CALLCONV
.
XMVECTOR .
1. XMVECTOR FXMVECTOR .
2. XMVECTOR GXMVECTOR .
3. XMVECTOR HXMVECTOR .
4. XMVECTOR CXMVECTOR .
, 32 Windows __fastcall
__vectorcall .
// 32-bit Windows __fastcall XMVECTOR
// , .
typedef const XMVECTOR FXMVECTOR;
typedef const XMVECTOR& GXMVECTOR;
typedef const XMVECTOR& HXMVECTOR;
typedef const XMVECTOR& CXMVECTOR;
// 32-bit Windows __vectorcall XMVECTOR
// , .
typedef const XMVECTOR FXMVECTOR;
typedef const XMVECTOR GXMVECTOR;
251.6 DirectXMath
typedef const XMVECTOR HXMVECTOR;
typedef const XMVECTOR& CXMVECTOR;
DirectXMath
([DirectXMath ] ) Calling Convention Library Internals
.
. [DirectXMath ]
XMVECTOR XMVECTOR
FXMVECTOR, CXMVECTOR . , XM_
CALLCONV .
DirectXMath .
inline XMMATRIX XM_CALLCONV XMMatrixTransformation(
FXMVECTOR ScalingOrigin,
FXMVECTOR ScalingOrientationQuaternion, .
FXMVECTOR Scaling,
GXMVECTOR RotationOrigin,
HXMVECTOR RotationQuaternion,
HXMVECTOR Translation);
XMVECTOR .
, FXMVECTOR, GXMVECTOR,
, HXMVECTOR .
XMVECTOR XMVECTOR .
. XMVECTOR XMVECTOR
. ,
XMVECTOR FXMVECTOR ( ) XMVECTOR
GXMVECTOR.
inline XMMATRIX XM_CALLCONV XMMatrixTransformation2D(
FXMVECTOR ScalingOrigin,
float ScalingOrientation,
FXMVECTOR Scaling,
FXMVECTOR RotationOrigin,
float Rotation,
GXMVECTOR Translation);
26 1
XMVECTOR .
XMVECTOR (XMVECTOR& XMVECTOR* ) SSE/SSE2
, XMVECTOR .
1.6.4 (const ) XMVECTOR XMVECTORF32 .
DirectX SDK CascadedShadowMaps11 .
static const XMVECTORF32 g_vHalfVector = { 0.5f, 0.5f, 0.5f, 0.5f };
static const XMVECTORF32 g_vZero = { 0.0f, 0.0f, 0.0f, 0.0f };
XMVECTORF32 vRightTop = {
vViewFrust.RightSlope,
vViewFrust.TopSlope,
1.0f,1.0f
};
XMVECTORF32 vLeftBottom = {
vViewFrust.LeftSlope,
vViewFrust.BottomSlope,
1.0f,1.0f
};
, XMVECTORF32 .
XMVECTORF32 16 , XMVECTOR
. .
//
__declspec(align(16)) struct XMVECTORF32
{
union
{
float f[4];
XMVECTOR v;
};
inline operator XMVECTOR() const { return v; }
inline operator const float*() const { return f; }
271.6 DirectXMath
#if !defined(_XM_NO_INTRINSICS_) && defined(_XM_SSE_INTRINSICS_)
inline operator __m128i() const { return _mm_castps_si128(v); }
inline operator __m128d() const { return _mm_castps_pd(v); }
#endif
};
XMVECTOR XMVECTORU32 .
static const XMVECTORU32 vGrabY = {
0x00000000,0xFFFFFFFF,0x00000000,0x00000000
};
1.6.5 XMVECTOR , , (overloading )
.
XMVECTOR XM_CALLCONV operator+ (FXMVECTOR V);
XMVECTOR XM_CALLCONV operator- (FXMVECTOR V);
XMVECTOR& XM_CALLCONV operator+= (XMVECTOR& V1, FXMVECTOR V2);
XMVECTOR& XM_CALLCONV operator-= (XMVECTOR& V1, FXMVECTOR V2);
XMVECTOR& XM_CALLCONV operator*= (XMVECTOR& V1, FXMVECTOR V2);
XMVECTOR& XM_CALLCONV operator/= (XMVECTOR& V1, FXMVECTOR V2);
XMVECTOR& operator*= (XMVECTOR& V, float S);
XMVECTOR& operator/= (XMVECTOR& V, float S);
XMVECTOR XM_CALLCONV operator+ (FXMVECTOR V1, FXMVECTOR V2);
XMVECTOR XM_CALLCONV operator- (FXMVECTOR V1, FXMVECTOR V2);
XMVECTOR XM_CALLCONV operator* (FXMVECTOR V1, FXMVECTOR V2);
XMVECTOR XM_CALLCONV operator/ (FXMVECTOR V1, FXMVECTOR V2);
XMVECTOR XM_CALLCONV operator* (FXMVECTOR V, float S);
XMVECTOR XM_CALLCONV operator* (float S, FXMVECTOR V);
XMVECTOR XM_CALLCONV operator/ (FXMVECTOR V, float S);
1.6.6 DirectXMath ()
.
28 1
const float XM_PI = 3.141592654f;
const float XM_2PI = 6.283185307f;
const float XM_1DIVPI = 0.318309886f;
const float XM_1DIV2PI = 0.159154943f;
const float XM_PIDIV2 = 1.570796327f;
const float XM_PIDIV4 = 0.785398163f;
, DirectXMath radian (degree )
.
inline float XMConvertToRadians(float fDegrees)
{ return fDegrees * (XM_PI / 180.0f); }
inline float XMConvertToDegrees(float fRadians)
{ return fRadians * (180.0f / XM_PI); }
, / .
template inline T XMMin(T a, T b) { return (a < b) ? a : b; }
template inline T XMMax(T a, T b) { return (a > b) ? a : b; }
1.6.7 DirectXMath XMVECTOR
.
// 0 (0) .XMVECTOR XM_CALLCONV XMVectorZero();
// (1, 1, 1, 1) .
XMVECTOR XM_CALLCONV XMVectorSplatOne();
// (x, y, z, w) .XMVECTOR XM_CALLCONV XMVectorSet(float x, float y, float z, float w);
// (s, s, s, s) .XMVECTOR XM_CALLCONV XMVectorReplicate(float Value);
// (vx, vx, vx, vx) .XMVECTOR XM_CALLCONV XMVectorSplatX(FXMVECTOR V);
// (vy, vy, vy, vy) .
291.6 DirectXMath
XMVECTOR XM_CALLCONV XMVectorSplatY(FXMVECTOR V);
// (vz, vz, vz, vz) .XMVECTOR XM_CALLCONV XMVectorSplatZ(FXMVECTOR V);
.
#include // XMVerifyCPUSupport
#include
#include
#include
using namespace std;