게임 프로그래밍 9

[그래픽스] 렌더링 파이프라인

렌더링 파이프라인 매쉬가 가진 3D 정점 정보를 정해진 절차에 따라 2D 정보로 변환하여 모니터 화면에 출력하는 과정 DirectX11의 렌더링 파이프라인 전체 요약 더보기 첫번째, Input Assembler는 이 Render States로 들어온 vertex data들을 조립합니다. 이걸 Vertex Shader에 넘겨주면 버텍스 데이터를 바탕으로 연산 하고 위치를 조정합니다. 세번째 단계인 Tesselator는 폴리곤을 늘려주는 연산을 합니다. Geometry Shader는 버텍스마다 특정한 연산을 통해서 폴리곤을 추가로 생성합니다. 여기까지 버텍스 연산을 완료하게 됩니다. 다음으로 Rasterizer는 3D공간을 2D공간으로 변환해주는 과정입니다. 그 아래 단계의 Perspective Transf..

[하드웨어] CPU와 GPU

CPU 그리고 GPU 그래픽스를 해본 프로그래머라면 CPU는 운영체제 기반 계산 GPU는 그래픽 관련 계산 혹은 CPU는 직렬 연산을 하고 GPU는 병렬 연산을 하는 장치로 알고 있습니다. 그래서 이런 차이가 아닌 더 다양한 주제를 가지고 포스팅을 해보려고 합니다. 유사점 CPU와 그래픽 처리 장치(GPU)는 모두 컴퓨터를 작동시키는 하드웨어 장치입니다. 컴퓨터 디바이스의 두뇌 역할을 수행한다고 생각하면 됩니다. 둘 다 코어, 메모리 및 제어 장치를 포함하여 유사한 내부 구성 요소를 가지고 있습니다. 코어 GPU와 CPU 아키텍처는 모든 계산과 논리 함수를 실행하는 코어를 가지고 있습니다. 코어는 비트라고 하는 디지털 신호 양식으로 메모리에서 명령을 가져옵니다. 그리고 명령을 디코딩하고 명령 실행 주기라..

[3D] 사원수(쿼터니언)

허수란?1~3탄 모두 시청! https://youtu.be/udLD8jQ6X-k?si=w69UKpyyvf0ma2w- 영상 요약-와 +는 방향 개념 실수는 2개의 방향만 표현 가능 실수는 Sine 그래프를 다음과 같이 표현허수부를 추가하여 2차원으로 Sine 그래프를 표현하면 아래와 같이 표현 가능 즉, 허수축을 만들어 차원을 늘리는 개념 i를 곱한다는 90도로 회전한다는 의미는 가짐사원수는 3개의 허수 차원가 1개의 실수부로 이루워진 수 1800년대 윌리엄 헤밀턴에 의해 정의되었음 4차원 이상 부터는 이용하기 쉽지 않다는 단점이 있지만 3D 컴퓨터 그래픽스에서 오일러 좌표의 단점인 짐벌락 현상이 없다는 장점으로 재조명됨 짐벌락오일러 각도를 이용하면 회전을 하다가 다수의 축이 곂치면서 같은 방향으로 같이 ..

프레임워크 구조 변경 사항 - 1 (오브젝트및 컴포넌트 스토어)

1. 레이어에 오브젝트 스토어와 컴포넌트 추가를 위한 변경사항 private: listm_GameObjects; unordered_mapm_objectStore; unordered_multimapm_componentStore; 변경점 1) 기존 게임 클론시에 프로토타입태그 + void* pArg만 필요 했었는데 원하는 레이어에 컴포넌트 스토어 생성한 컴포넌트와 자기 자신을 넣어줘야하는 경우에 어떤 레벨의 어떤 레이어인지를 특정할 필요가 있음. 그리고 오브젝트 스토어에 넣을시에도 필요함 그래서 게임오브젝트 클론 함수및 Initialize함수를 변경함 virtual CGameObject* Clone(const _tchar* pLayerTag, _uint iLevelIndex, void* pArg = null..