> For the complete documentation index, see [llms.txt](https://krjaeh0.gitbook.io/j-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://krjaeh0.gitbook.io/j-log/gamedev/gameplayprogrammer/3dgamedev/gamegraphics.md).

# GameGraphics

## Text Elements

* 3차원 좌표계 (왼손 좌표계)
  * 벡터(Vector) 위치, 방향, 거리 ^y5ZdJZ4J
* 수학적으로는 Vector와 Position은 다르다 ^5TfbX3Uu
* 행렬 (4x4 원소를 가지는 행렬 — 3차원상 물체의 변형을 나타냄) ^c0SCBaL0
* 평면, 광선 ^Eh57JGTx
* 버텍스(정점): 마인크래프트의 경우 버텍스 버퍼를 최적화 이슈로 사용하지 않는다고 함 ^JlUnfyNI
* 3차원을 표현하는데 최소한의 점 개수는 3 → 폴리곤은 삼각형 ^T42ahEmE
* 폴리곤을 무한정 늘릴 수 없어서 normalMap 을 사용한다. ^LfTziKf1
* z 버퍼 (깊이 버퍼) - 먼저 그릴 오브젝트를 결정? ^QAuztPd8
* 스텐실 버퍼 (특수효과를 제작하는데 사용 - 렌더링 할 부분을 정할 수도 있음) ^RvtPFoye
* 더블버퍼링 (화면 주사율에 의해 프레임드랍이 일어나느 것을 방지) ^hD7wexkC

세이딩 관련

* 세이딩 언어
* 세이딩 기법 (플랫 / 고러드 / 퐁 / 광원추적 / 난반사방식) ^4hqiPTJm
  * 면단위로 불러오는 플랫 : 퀄리티가 떨어지지만 연산이 적어 빠름 ^KebA3No6
  * 연산이 매우 많은(딱봐도 많은) 퐁 ^RWFlPntc

재질 / 조명 / 렌더링

* 재질 / 조명 ^gC96LEi2
* 라이트 베이크 ^mluVZfV5
* 광원 (점, 방향, 스포트라이트) ^bGZxiwao
* 텍스처 ^29jb3TCB
* 렌더링 파이프라인 ^OB0MiuW2
  * 3D 공간의 가상카메라를 이용, 2D 이미지를 만들어 화면에 보여주는 과정 ^1oqMG7BF

좌표계 및 스페이스

* 0,0,0이 정사각형의 중심에 오도록하려면? 버텍스를 어디에 그리느냐에 따라 결정 → 로컬 좌표계 (오브젝트를 기준으로 하는 위치) ^57AQzvwd
* 월드 스페이스: 3차원 공간 전체를 기준으로 하는 위치
* 뷰 스페이스: 가상의 카메라를 기준으로 하는 위치 ^r3dq7BED

기타 렌더 관련

* 렌더 텍스처(타겟?) -> 카메라가 많아지면 부하가 많아짐 ^SPrTJmUL
* 행렬로 관리 ^ZrU1MGxK
* GPU에서 연산 ^1m4kvIHk
* 컬링 (보이는 부분만 남기기) ^QXFBEwk8
* 조명: 월드 스페이스에서 정의
  * 그림자나 명암이 처리되는 것을 뷰포트 변환시 적용 ^1VWA7jwK
* 픽셀 쉐이더 (빛을 고려해서 폴리곤의 색을 결정) ^vQ5zimhL
* 클리핑(화면 밖은 잘라냄) ^qWJ4wLhf
* 원근 투영: 원근감 ^gcKd5zRV
* 직교 투영: 평면이 서로 평행(원근감 없음) ^iG2Ehfxb
* 레스터라이즈: 스크린 좌표에 버텍스가 변환된 후 각 삼각형에 면과 컬러를 색으로 채움 ^2MyocJdY
* 프로그래머블 파이프라인: 기존의 그래픽파이프라인은 수정이 불가능했으나, 프로그래머가 개입할 수 있는 파이프라인이 있음 ^BcWXWNiY

그래픽스 파이프라인 주요 블록

* 입력조립기 (Input-Assembler)
  * 비디오 메모리에 버텍스/인덱스버퍼를 만듬 ^I7iNsZuc
* 테셀레이션 → 연산을 통해 버텍스 수를 늘리는 작업 ^nUYL2YpV
* 헐 쉐이더: 컬링, 클리핑 ^dZvAXHV6

GPU vs CPU

* CPU는 직렬(순차) 연산
* GPU는 병렬(프로세스마다 1개씩, 행렬 연산에 유리) ^nsbqqdIN

***

## Embedded Files

* 5add84c36bd1cafdc488b350328ead8d8da8e7f3: \[\[topics/assets/images/스크린샷 2025-06-20 오전 9.34.49.png]]
* 86dc1cca5b02cd5c9e0c31aaa6e84b2e57c7de4a: \[\[topics/assets/images/스크린샷 2025-06-20 오전 9.42.09.png]]
* 6177f588e2d9ea338c29566bbf544fceda39d275: \[\[topics/assets/images/스크린샷 2025-06-20 오전 9.42.53.png]]

***

## Drawing (compressed Excalidraw JSON)

다음은 압축된 Excalidraw 데이터입니다. 필요하면 플러그인 도구(예: "Decompress current Excalidraw file")로 복원하여 사용하세요.

```compressed-json
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

... (중간 생략) ...
```

(위 압축 데이터는 원본에서 그대로 유지하였습니다. 복원/편집은 Excalidraw 도구 플러그인을 사용하세요.)

***

참고: 문서 상의 각 항목 끝에 붙은 ^식의 문자열들은 원본 Excalidraw 요소의 참조/메타데이터로 보존했습니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://krjaeh0.gitbook.io/j-log/gamedev/gameplayprogrammer/3dgamedev/gamegraphics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
