벡터를 구하는 함수
D3DXVECTOR3 u(x.0f,y.0f,z.0f);
길이를 구하는 함수
float length = D3DXVec3Length(&u)
노멀라이즈 해주는 함수
D3DXVec3Normalize(&out,&u)
내적을 구하는 함수
D3DXVec3Dot(&out,&out2)
나온 값이 0 이면 직각
0보다크면 90보다 작다
0보다 작으면 90보다 크다
외적을 구하는 함수
D3DXVec3Cross(&out,&u,&v)
전치행렬 구하는 함수
D3DXMATRIX out
d3dxmatrixtranspose(&out,&A)
역행렬구하는 함수
D3DXMatrixInverse(&out,0,&A):
다이렉트 프로그램 구조
윈도우의 클래스 등록 : RegisterClassEx()
윈도우 생성 : CreateWindow()
Direct3D 의 초기화 : InitD3D() 함수에서
윈도우 화면에 표시 : ShowWindow(), UpdateWindow()
메시지 루프 수행 : GetMessage(), TranslateMessage(), DispatchMessage()
렌더 함수를 통해 화면에 그려준다.
화면에 그리기전에 행렬설정과 라이트 설정을 해서 화면에 그려줄수있다.
D3D 객체 소거 : 메모리에서 해제
프로그램 종료
파이프라인
정점을 월드행렬을 통해 로컬좌표계를 월드좌표계에 넣어주고 카메라 행렬을 통해
카메라 위치를 바꿔주고 투영행렬까지 해주면 변환된 정점이 나와서 화면에 그려주게 된다.
이게 d3d의 전체 렌더링 파이프라인이다.