다이렉트 X
그래픽 카드, 사운드 카드
기능들을 CPU에만 집중하는 것이 아닌 다른 하드웨어로 분배
이 기능에 집중된 하드웨어가 나오기 시작(그래픽,, 사운드,,)
그래픽 카드 메모리(렌더링해야 하는 자원들)
리소스를 로드할 때 선택
그래픽 카드 장치를 통한 로드-> 시스템 메모리에 저장? / 그래픽 카드 메모리에 저장?
빠른 게임의 진행
이미지의 픽셀마다 알파값 조절 투명/반투명
KGCA, 게임스쿨,,
SBS,, MBC,, 쥬신,,
SGA
유니티 > 언리얼(주가가 더 높아요)
다이렉트 X 원시적인 코드
유니티 프로그램
다이렉트 X를 이용하면 유니티와 유사한 엔진을 만들 수 있다
유니티 상용엔진만 다룰줄아는 툴러,,
프로젝트가 넘어지면 잘릴 가능성이 높다
OPENGL
벡터 행렬(게임 수학)
중학 물리. 수학
벡터
객체를 움직이고 따라가고 추적
힘과 방향
다이렉트에서 지원하고 있는 구조체
d3dxVector2,3,4 3가지 타입
힘이란?
어떠한 상수로 표현하기 좋은 데이터에요
방향?
각도를 이용하지 않는다->좌표
물리에선 화살표로 사용
화살표가 길면 힘이 쎄다(길이 = 힘)
화살표가 가리키는 방향(방향)
힘이 같아도 방향이 다르면 두개 다 다른 벡터
같은 점을 바라보는 것이 같은 벡터가 아닌
화살표가 얼마나 기울어져 있는지가 관점
길이가 같고 각도가 같으면 같은 벡터
기존의 API좌표(왼쪽 위가 0,0)가 아닌 수학 좌표(오른쪽 아래가 0,0)
원점 0,0 끝점 1,1이면 피타고라스의 정리로 인해 길이를 구할 수 있다
끝점의 x,y로 방향을 알 수 있다(1,1 의 경우 오른쪽 위 2,2의 경우 길이 2 오른쪽 위)
화살표는 반드시 원점부터 시작이 되야 한다(길이를 알 수 없기 때문)
벡터를 표현하기 위한 좌표는 반드시 2개부터 시작(float 실수형 x,y)
벡터3는 x,y,z 3차원 3D
벡터4 x,y,z,w(크기와 방향을 표현하지 않더라,, 객체의 위치)
vec3 vPos(단순히 크기와 방향이 아닌 위치 정보를 가지고 쓰기도 한다)
힘과 방향 Dir 변수명으로 구분하기로 했지만
제대로 안지켜졌기에
불변수로 추가해서 방향 벡터일 경우 0, 위치 벡터일 경우 1)
행렬에서 w값에 의해서 재미있는 일이 생겨나기 시작해요
난 재밌는데 여러분도 재밌을진 몰라요
벡터4같은 경우는 잘 안써요
가장 명확한건 벡터4이지만 변수명으로 구분하는 경우가 가장 많아요
float 4바이트만큼 더 메모리를 쓰기 때문에
그렇지만 쉐이더에선 벡터4를 겁나 많이 써요
위치 벡터
객체들의 위치를 표현하기 위해서 많이 써요
이 벡터를 가지고 어떻게 게임/코드에서 사용하는데?