본문 바로가기

GameStudy489

Deferred Rendering 1. Forward Rendering 1.1 Forward Rendering이란, - 한 마디로, 기존의 Rendering 방식. 개체 A가 Render Target에 그려지려면 Vertex Shader와 Pixel Shader의 연산이 이뤄지는데, 기존에는 Pixel Shader에서 빛 연산을 진행함. 1.2 Forward Rendering의 문제점 - 개체 X1, X2, ..., Xn이 모두 Pixel Shader에서 빛 연산을 진행함. 어떤 개체는 이미 가려져서 빛 연산을 진행할 필요가 없는데도 개체의 개수만큼 빛 연산을 진행하는 비효율이 발생함. 2. Deferred Rendering 2.1 Deferred Rendering 구조 - Render Target을 여러 개 만듦. Light를 구현하는.. 2022. 12. 19.
5. Dynamic Programming, Backtracking 5.1 Dynamic Programming 5.1-1 Memoization  Note) 기존의 피보나치 수열 코드#pragma onceint fibo(int n){ if (1 == n) { return 1; } if (2 == n) { return 1; } return fibo(n - 1) + fibo(n - 2);}   Note) 기존 피보나치 수열의 코드를 도식화하면 아래와 같음.    이 경우, n의 크기가 커지면 커질수록 재귀함수의 호출 횟수가 비약적으로 늘어남.    그래서 한 번 계산된 피보나치 값은 저장해둔다면, 꽤나 큰 효과를 얻을 수 있음.    즉, 재귀함수만 사용하는 것이 아닌 저장을 위한 메모리를 적절하게 함께 사용함.    이때 저장을 위한 메모리 사용 기법을 Me.. 2022. 12. 1.
Post Process Effects 1. 클래스 구조 1.1 현재의 랜더링 구조 - 카메라가 랜더링을 담당함. 카메라에는 메인 카메라와 UI 카메라가 있음. - 각 카메라가 Render Target을 가지고 있음. 즉, 메인 카메라도 본인만의 Render Target을 UI 카메라도 본인만의 Render Target을 가지고 있음. 그래서 마지막에 Back Buffer의 Render Target->Merge(MainCameraRenderTarget) 또 Merge(UICameraRenderTarget)을 실행해서 합치는 것. - GameEngineLevel::Render()에서 카메라에 종속된 랜더러들을 모두 그린뒤, 각 카메라의 Post Process Effects가 적용되게끔 코드가 작성되어 있음. 대략 이런식으로 Post Proces.. 2022. 11. 24.
4. Graph, DFS, BFS 4.1 Graph4.1-1 그래프  Def) 그래프(Graph)    개체 간의 연결 관계를 표현할 수 있는 비선형 자료구조    ex. 도시들 간의 연결, 지하철 노선도, SNS 친구 관계도 등   Note) 결국 트리는 그래프의 한 종류이다.    즉, 트리를 추상화하면 그래프가 됨.   Note) 그래프의 구성 요소    - 그래프 G = (V, E)    - 정점 V(Vertex, Node)      그래프를 구성하는 기본 단위. 노드.      데이터를 저장하거나 상태를 표현    - 엣지 E(Edge, Link)      정점과 정점을 잇는 선. 간선.      방향을 가질 수도 있음.      가중치(Weight)를 가질 수도 있음.   Note) 그래프 관련 용어가중치(Weight)엣지에 .. 2022. 11. 22.