목록게임프로그래밍 (83)
bdfgdfg
C#으로 만든 프로그램은 CLR 위에서 실행된다. CLR은 .NET 프레임우크와 함께 OS위에 설치된다. -> 자바의 JVM과 비슷한 역할. C#,JAVA같은 언어에서 컴파일 타임에 코드를 중간 언어(IL)로 바꾸고, 실행 시간에 CLR,JVM과 같은 가상머신을 통해 해당 중간 언어들을 CPU가 이해할 수 있는 바이너리 코드로 변환한다. C# 컴파일러는 C# 소스코드를 IL(Intermediate Language)라는 중간언어로 작성된 실행 파일을 만들어 낸다. -> 물론 해당 언어는 CPU가 이해할 수 있는 코드는 아니다. 사용자가 해당 실행 파일을 실행하면 CLR이 중간 코드를 읽어 들여 다시 CPU가 이해할 수 있는 바이너리 코드로 컴파일 한 후 실행시킨다. 이것을 JIT(Just In Time)컴..
정점 변환 컴퓨터 그래픽스에서 설명하는 렌더링 파이프라인은 로컬 -> 월드 -> 뷰 -> 투영 -> 최종 스크린의 변환의 단계를 의미한다. 로컬 공간은 로켈 좌표계에 있는 오브젝트가 존재하는 공간을 의미하며 모델 스페이스라고도 한다. 이렇게 물체중심의 좌표계를 우리의 게임 세상(월드 공간)에 올리기 위해 하나의 월드 공간의 원점을 기준으로 오브젝트를 배치한다. 게임 세상(월드 공간)에 올라가기전에 물체를 우리가 원하는 크기(Scale),회전(Rotation),이동(Translation)하여 월드 공간에 배치하기 위해 보통 월드 행렬이라는 Scale,Rotation,Translation행렬을 결합하여 각 정점을 곱연산하여 배치하게 된다. -> 단위행렬이어도 상관없다. -> 행렬의 결합법칙을 이용하여 정점의..
사용기술 C++11 DirectX11 IOCP MSSQL (ODBC API) 개발인원 1명
변환(Transform) 그래픽스에서 물체의 변환을 위해 행렬을 사용한다. Scale(신축),Rotation(회전),Translation(이동)의 변환행렬부터 살펴본다. -> 위를 SRT변환 행렬이라 하며 로컬공간에서 위의 행렬들을 곱하여 월드공간에 올린다.(단위 행렬이어도 상관없다) -> 로컬공간은 물체 중심의 자신만의 좌표 공간. -> 월드공간은 하나의 월드(게임 세상)가 기준이되는 좌표 공간. -> 왼손 좌표계를 사용하는 DirectX에서는 S * R * T * M(기타 행렬)의 순서로 최종 변환 행렬을 결합해야 한다. Scale행렬 스케일 행렬은 월드 공간에 올라갈 물체의 크기를 바꾼다. 물체의 크기를 바꾸기 위한 행렬을 곱할 떄는 위의 Scale행렬을 곱하게 되는데, 주 대각선상에서 물체의 3차..