게임프로그래밍 필기 개념정리 2024년 1차 A형
게임 프로그래밍 방법론
문제 1. C언어 문자열 연산
문제 해설:
• 문자형 'C'는 아스키코드 값 67.
• c = c - 2 → 67 - 2 = 65
• 아스키 코드 65는 'A'.
정답: ① A
문제 2. 오버로딩 / 오버라이딩 개념
문제 해설:
함수 오버로딩 (Overloading): 동일한 이름, 다른 매개변수 타입/개수로 정의된 함수들.
함수 오버라이딩 (Overriding): 상속 관계에서 부모 클래스의 가상 함수를 자식 클래스가 재정의.
정답: ④
문제 3. 포인터를 활용한 함수 호출
문제 해설:
• sum , difference는 포인터로 전달되어야 값을 변경 가능.
• &sum , &difference → 포인터의 주소를 전달하는 실수.
• diffPtr = &difference → 이미 포인 터니까 그대로 전달.
정답: ③
문제 4. 형 변환
문제 해설:
•static_cast <>()은 타입 변환 연산자로 <> 안에는 바꾸려고 하는 타입, () 안에는 대상을 넣는다.
• static_cast(9.8) → 소수점 버림 → 9
• 정수로 변환할 때 소수점 이하 절삭됨.
③ 9
문제 5. 생성자와 소멸자
문제 해설:
소멸자는 ~가 붙는다.
1. "함수 호출 전 / " 출력
2. createObject() 호출 → Test 생성자 호출
3. 함수 종료 → Test 소멸자 호출
4."함수 호출 후 / " 출력
출력 순서: 함수 호출 전 / 생성자 호출 / 소멸자 호출 / 함수 호출 후 /\
정답: ①
문제 6. 포인터 간의 계산
문제 해설:
• 포인터끼리 뺄셈: 두 포인터가 가리키는 요소 간의 거리 (몇 개 떨어져 있는가)
• ptr2 - ptr1 = &data [3] - &data [1] → (3 - 1) = 2
• 즉, 배열 내에서 두 요소의 인덱스 차이를 의미하고, 정수형으로 출력됨.
정답: ① 2
문제 7. 난수 생성 시 srand()의 역할
문제 해설:
srand() 함수는 난수를 만들기 위해 시작값을 설정하는 함수.
• srand() 안에 값이 똑같으면 시드(seed)를 고정 → 항상 동일한 난수 패턴 발생
• 난수를 매번 다르게 출력하려면 현재 시간 기반의 시드 사용:
• time(NULL) 은 실행 시점의 시간을 시드로 사용 → 난수 다양화.
정답: ②
문제 8. 재귀 함수를 이용한 팩토리얼 계산
문제 해설:
n! = n x (n -1)!
0! = 1
팩토리얼을 재귀 함수로 표현하는 법
정답: ④
문제 9. 메모리 할당 / 해제 시 누수 원인
문제 해설:
• 동적 할당 후 arr += 2; → 원래 할당된 시작 주소를 잃음
• free(arr);는 변형된 주소를 해제 → 메모리 누수 발생
• 동적 메모리는 할당된 원래 주소 그대로 해제해야 함
정답: ③
문제 10. 오버라이딩
문제 해설:
• virtual 함수 → 다형성(polymorphism) 적용
• basePtr는 Base형 포인터지만 ChildClass의 show() 호출됨
• 출력 결과: Child class
정답: ②
문제 11. C# 설명
문제 해설:
• C#은 컴파일 언어이며, 인터프리터 방식이 아니다.
• C#은. NET Framework에서 JIT(Just-In-Time) 컴파일러로 중간 코드(IL)를 네이티브 코드로 변환 후 실행한다.
• 스크립트 언어는 Python, JavaScript처럼 코드를 작성하고 바로 실행할 수 있지만, C# 은 먼저 컴파일해야 한다.
• C# 특징
◦ 객체 지향 언어(OOP)
◦ Unity에서 주 언어로 사용
◦ 자동 메모리 관리(GC 지원)
정답: ②
문제 12. AI
문제 해설:
• 생성형 AI (Generative AI):
◦ 입력된 프롬프트에 따라 새로운 콘텐츠(텍스트, 이미지, 영상 등)를 생성.
◦ ChatGPT, DALL·E, MidJourney 등이 대표적.
• 행동 트리 AI: 트리 구조로 조건-행동 분기. 게임 AI에서 자주 사용
• 인지 컴퓨터 AI: 사람처럼 생각, 추론, 이해.
• 기계 학습 AI: 데이터로 학습하고 예측
정답: ③
문제 13. 리눅스 OS
문제 해설:
• Linux 배포판: Ubuntu 외에도 Fedora, Debian, CentOS, Arch 등 다양.
• 리눅스 특징:
◦ 리누스 토발즈가 개발
◦ 오픈소스
◦ 다중 사용자/다중 처리 지원
정답: ①
문제 14. 관계형 DB
문제 해설:
관계형 데이터베이스 (RDBMS):
◦ SQL 사용, 테이블 기반.
◦ 예: MS SQL Server, MySQL, PostgreSQL
• NoSQL 데이터베이스:
◦ Dynamo DB, Cassandra, MongoDB → 비관계형.
정답: ①
문제 15. 데이터 베이스 구성 요소
문제 해설:
• 테이블(Table):
◦ 데이터 저장의 기본 단위.
◦ 행(Row)과 열(Column) 구조.
• 데이터베이스(Database): 여러 테이블과 기타 객체 포함.
• 모델(Model): 논리적 구조나 ERD에서 사용.
• DDL(Data Definition Language): 데이터 정의 언어 (CREATE, DROP 등).
정답: ③
문제 16.
문제 해설:
• Protocol (프로토콜):
◦ 컴퓨터 간 통신 규칙.
◦ 예: TCP/IP, HTTP, FTP.
• DNS: 도메인 이름 시스템, IP와 도메인을 매핑.
• Socket: 네트워크 통신의 프로그래밍 인터페이스.
• Hub: 네트워크 장치, 단순 데이터 분배.
정답: ①
문제 17. 유니코드 설명
문제 해설:
• 유니코드:
◦ 세계 모든 문자 통일적 표현.
◦ UTF-8, UTF-16, UTF-32 방식 존재.
• UTF-8:
◦ 1~4바이트 사용.
◦ ASCII: 1바이트, 다른 문자: 최대 4바이트.
정답: ④
문제 18.
문제 해설:
• LRU (Least Recently Used): 가장 오래전에 사용된 페이지를 교체.
• LFU (Least Frequently Used): 사용 빈도가 낮은 페이지 교체.
• FRU(First Reuse): 가장 빨리 다시 사용될 데이터를 유지(이론적).
• RRU( Recent Reuse ): 최근에 재사용된 데이터를 유지.
정답: ①
문제 19. 교착 상태 조건
문제 해설:
• 교착 상태 4조 건:
◦ 상호 배제: 하나의 자원은 하나의 프로세스만 사용 가능.
◦ 점유 대기: 자원을 점유한 상태로 다른 자원 대기.
◦ 비선점: 자원을 강제로 빼앗을 수 없음.
◦ 순환 대기: 각 프로세스가 순환적으로 자원 요청.
• 선점은 교착상태 방지 기법 중 하나.
정답: ③
문제 20. 가상 메모리
문제 해설:
• 가상 메모리:
◦ 실제 메모리보다 더 많은 공간을 제공.
◦ 보조기억장치(디스크)를 RAM처럼 사용.
• 리눅스, 윈도 모두 지원.
• GC(Garbage Collection)는 메모리 회수 기법으로, 가상 메모리 관리와는 다름.
정답: ①
문제 21. 객체지향 특징
문제 해설:
• OOP 4대 특징:
◦ 추상화: 공통 속성/행위 도출.
◦ 캡슐화: 데이터와 메서드를 하나로 묶고 은닉.
◦ 상속: 부모의 속성을 자식에게 전달.
◦ 다형성: 같은 이름의 메서드가 상황에 따라 다르게 동작.
• 템플릿:
◦ C++에서 일반화 프로그래밍(Generic).
◦ 객체지향과 직접적인 관련은 없음.
정답: ③
문제 22. 함수 선언 시 컴파일 에러
문제 해설:
• friend: C++ 예약어, friend 함수로 사용해야 함.
• 함수 이름으로는 사용 불가 → 컴파일 에러.
•나머지 선언은 모두 유효.
◦ 1번: _는 유효한 식별자.
◦ 2번: 기본 인자 사용 가능.
◦ 3번: 매개변수명 생략 가능.
정답: ④
문제 23. C언어 매크로
문제 해설:
• #define TEST_VALUE처럼 값없는 매크로도 허용됨.
◦ 컴파일 에러 발생 안 함.
◦ 존재 여부 확인용 매크로로 사용.
• 1번, 2번, 4번 모두 맞음:
◦ 여러 줄 정의 시 역슬래시 필수.
◦ #undef로 해제 가능.
정답: ③
문제 24. 메모리 영역
문제 해설:
• Data 영역:
◦ 초기값이 있는 전역변수, static 변수 저장.
◦ 프로그램 시작 시 할당, 종료 시 해제.
• code 영역: 기계어 코드 저장.
• Stack 영역: 지역 변수, 함수 호출 스택.
• Heap 영역: 동적 할당 메모리 (malloc/free).
정답: ②
문제 25.
문제 해설:
• 메모리 단편화(Fragmentation):
◦ 할당/해제 반복으로 작은 빈 공간이 생겨 연속 공간 부족.
◦ 외부 단편화: 연속 공간 없음.
◦ 내부 단편화: 할당 후 남는 공간.
• 가비지 컬렉션: 사용되지 않는 메모리 자동 회수.
• 메모리 초기화: 값을 0 등으로 설정.
정답: ②
게임 알고리즘과 설계
문제 1. 벡터 계산
문제 해설:
• 법선 벡터는 일반적으로 충돌 판정 등에 사용되며, 미사일의 이동 경로를 조정하는 데 사용되지 않음.
• 미사일 추적에서는:
◦ 방향벡터, 속도 벡터, 예측 이동이 중요.
◦ 직선거리, 가속도, 예측 경로 계산은 실제로 사용됨.
정답: ②
문제 2. 선형대수
문제 해설:
• 가중치 업데이트 공식:
◦ w(t+1) = w(t) + η * x(t) * (d - y(t))
◦ x(t): 입력값, d-y(t): 오차.
• 오차 역전파 학습에 기반한 설명.
정답: ④
문제 3. 자료구조 개념
문제 해설:
문제가 조금 애매한 거 같다
문제 4. 최소신장트리
문제 해설:
• 최소 신장 트리(MST):
◦ 사이클 없음, 모든 정점 연결, 가중치 최소.
• 크루스칼 알고리즘:
◦ 가중치 낮은 간선부터 선택, 사이클 방지
정답: ③
문제 5. NPC 행동 시스템
문제 해설:
• FSM:
◦ 단순 상태 전이에 적합.
◦ 복잡하고 동적인 환경엔 비효율적.
정답: ①
문제 6. 상황 별 최선의 정렬 알고리즘
문제 해설:
• 병합 정렬:
◦ 많은 메모리 사용 (보조 배열 필요).
◦ 메모리 적게 쓰는 정렬은 힙 정렬.
정답: ③
문제 7. 이진트리의 노드 삭제
문제 해설:
- 삭제 노드의 부모 노드 메모리를 변경하지 않음.
- 삭제 노드 자체를 제거하고 → 자식 노드를 연결
정답: ②
문제 8. 길 찾기 알고리즘
문제 해설:
◦ 현실적인 경로 계산에서는 다양한 가중치 필요.
◦ 모든 노드에 동일 가중치 → 효율성 저하.
정답: ③
문제 9. 타일맵 의사코드
문제 해설:
• 타일맵은 일반적으로 2D 배열 사용.
• 원형 배열은 큐 등에 사용, 타일맵엔 부적절.
정답: ①
문제 10. 싱글턴 패턴
문제 해설:
싱글톤 패턴:
◦ 멀티스레드 안전 고려해야 함.
◦ 자동 생성 아님, 코드로 처리 필요.
정답: ④
문제 11. 디자인 패턴
문제 해설:
• 상태 패턴:
◦ 객체의 상태에 따라 행동이 달라짐.
◦ 상태를 객체화하여 행동을 위임.
• 싱글톤: 인스턴스 하나를 보장.
• 옵서버: 이벤트 기반 알림.
• 팩토리 메서드: 객체 생성 캡슐화.
정답: ②
문제 12. STL
문제 해설:
• merge는 정렬된 컨테이너끼리만 가능.
• vector와 list도 정렬 후라면 merge 가능.
정답: ①
문제 13. 정렬된 경우 탐색 알고리즘
문제 해설:
• 이진 탐색:
◦ 정렬된 배열에서 중간값 기준으로 탐색.
◦ 시간 복잡도 O(log n).
◦ low, high, mid 활용.
정답: ②
문제 14. 이진 탐색의 시간 복잡도
문제 해설:
• 이진 탐색:
◦ 한 번 탐색마다 절반씩 줄어듦.
◦ 시간 복잡도 O(log₂ n).
정답: ①
문제 15. 깊이 우선 탐색 순서
문제 해설:
• 깊이 우선 탐색 (DFS):
◦ 한 경로를 끝까지 탐색 후, 다음 경로.
◦ 자식 노드 먼저 → 마지막에 형제 노드.
• 장면 그래프는 트리 구조와 같음.
정답: ①
문제 16. 알맞은 자료구조
문제 해설:
• 연결 리스트:
◦ 노드: 데이터 + 다음 노드 포인터.
◦ 중간 노드 삽입/삭제 용이.
• 스택/큐: 삽입/삭제 위치 제한됨.
• 데크: 양쪽 삽입/삭제 가능하지만 포인터 구조는 아님.
정답: ③
문제 17. 원형 큐
문제 해설:
• 원형 큐 (Circular Queue):
◦ 다음 위치 계산: (pos + 1) % QUEUE_LEN
◦ rear 위치에 데이터 저장.
• [A]는 위치 순환, [B]는 rear에 데이터 저장.
정답: ①
문제 18. 정렬 알고리즘 종류
문제 해설:
• 버블 정렬 (Bubble Sort):
◦ 인접한 두 값 비교 → 교환.
◦ 가장 큰 값이 오른쪽 끝으로 이동.
◦ 단순, 비효율적.
정답: ④
문제 19. 완성되는 트리
문제 해설:
• 이진 탐색 트리 (BST):
◦ 왼쪽 자식 < 부모 < 오른쪽 자식.
◦ 코드 구조상 BST 조건 충족.
• 완전/포화 트리는 형태적 조건 필요.
정답: ③
문제 20. 추상자료형 (ADT)
문제 해설:
ADT 특징:
◦ 구현 변경되어도 외부 동작 동일.
◦ 사용자: 인터페이스만 알면 사용 가능.
정답: ②
문제 21. 해시 테이블 저장 위치
문제 해설:
• 해시 함수: h(k) = k % 10
• 저장 과정:
◦ 3 → h(3)=3 → [3]
◦ 5 → h(5)=5 → [5]
◦ 13 → h(13)=3 → 충돌 → [4]
◦ 24 → h(24)=4 → 충돌 → [6]
◦ 25 → h(25)=5 → 충돌 → 6 충돌 → [7] 저장
정답: ④
문제 22. 스택 삭제 순서
문제 해설:
스택은 나중에 들어간 순서대로 먼저 삭제되는 특징이 있음.
정답: ②
문제 23. 재귀 함수 결과
문제 해설:
순서대로 내려갔다가 올라오면서 계산하기
• f(0) = 0
• f(1) = 1
• f(2) = 4f(1) - 5f(0) = 4
• f(3) = 4f(2) - 5f(1) = 4*4 - 5 = 11
• f(4) = 4f(3) - 5f(2) = 4*11 - 20 = 24
정답: ④
문제 24. 넓이 우선 탐색 방문 순서
문제 해설:
넓이 우선 탐색은 같은 레벨에 있는 순서대로 탐색한다.
여기서 문제에선 인접 정점끼리는 알파벳 순서로 탐색한다고 함.
정답: ②
문제 25. 인접 행렬과 인접 리스트
문제 해설:
• 그래프의 간선 수에 따라 효율적인 데이터 구조 선택.
◦ 희소 그래프: 인접 리스트
◦ 조밀 그래프: 인접 행렬
① 인접 행렬은 메모리를 더 많이 사용.
② 인접 리스트는 조회 속도가 느림.
③ 인접 행렬 생성 시간은 O(n²)이다 , O(log n) 아님.
정답: ④
게임 콘텐츠 프로그래밍
문제 1. 후처리 기법
문제 해설:
• Bloom:
◦ 밝은 부분이 번져 보이는 효과.
◦ 빛이 강한 곳에서 퍼져 나오는 듯한 느낌.
• Anti Aliasing: 계단 현상 제거.
• Ambient Occlusion: 빛이 닿지 않는 부분을 어둡게
• Morph: 형태가 다른 형태로 부드럽게 변하는 것을 의미
정답: ③
문제 2. 조명 처리 기법
문제 해설:
• Normal Map:
◦ 법선 벡터 정보를 담아 조명 효과를 정교화.
◦ 실제로 더 많은 디테일처럼 보이게 함.
• Diffuse Map: 기본 색상 정보.
• Specular Map: 반사 강도 정보.
• Ambient Occulusion Map: 빛이 닿기 어려운 부분의 어두움을 표현하는 쉐이딩 기법
정답: ②
문제 3. 흐림 효과
문제 해설:
• Gaussian Blur:
◦ 가우시안 함수를 사용해 픽셀 주변을 흐리게.
◦ 소프트 포커스 효과.
• Anti Aliasing: 선명도 향상.
• Vignetting: 가장자리를 어둡게.
• Tone Mapping: HDR(High Dynamic Range) 이미지를 LDR(Low Dynamic Range) 화면에 자연스럽게 표현하는 기법
정답: ②
문제 4. 벡터의 내적 결과
문제 해설:
• 벡터의 내적:
◦ A·B = |A||B|cosθ
◦ θ=90°(직교) → cos(90°)=0 → 내적=0
• 내적 활용: 각도 계산, 직교 여부 판단.
정답: ②
문제 5. 라디안 계산
문제 해설:
각도를 라디안으로 변환 공식:
정답: ③
문제 6. 회전 행렬
문제 해설:
-
- 좌표 (x, y)를 θ도 회전시키려면:
- 2D 회전 행렬:
- ①번이 정석적인 2차원 회전 행렬 형태임.
정답: ①
문제 7. 육면체 형태의 텍스처
문제 해설:
- Cube map:
- 환경 맵핑, 반사 표현.
- 6면체 텍스처: 앞, 뒤, 좌, 우, 위, 아래.
- Normal map: 법선 정보.
- Stencil map: 픽셀 마스킹.
- Specular map: 반사광 강도 제어.
문제 8. 공간(space) 명칭
문제 해설:
① Model Space:
• 객체(모델) 자체의 좌표계.
• 객체의 중심을 기준으로 함.
② World Space
• 모든 모델이 월드 기준으로 배치된 좌표계.
• 객체의 중심을 기준으로 함.
③ Camera Space
• 카메라 기준 좌표계
• 카메라를 원점으로 Z 축이 앞 방향, X, Y로 구성.
• 카메라의 절두체(Frustum)가 그려져 있고 좌표계 방향도 맞음.
④ NDC (Normalized Device Coordinates)
• 이 좌표계는 정규화된 장치 좌표계(NDC, Normalized Device Coordinates) 임.
• x, y, z 좌표가 -1에서 1 사이로 제한되어 있음.
• 이는 투영 후 좌표계이며, 카메라 공간이 아님.
정답: ④
문제 9.
문제 해설:
- Bounding Geometry:
- AABB, OBB, Bounding Sphere 등.
- 간단한 충돌 판정.
- Solid Geometry: 정밀 모델링.
- Linked Graph: 그래프 구조, 경로 탐색용.
- Sphere List: 복잡한 객체를 여러 개의 구로 나눈 충돌 처리 방식.
정답: ①
문제 10.
문제 해설:
Quaternion (사원수):
- 회전 표현에 사용.
- Gimbal Lock 방지.
- w + xi + yj + zk 형태.
정답: ③
문제 11. 3차원 회전
문제 해설:
- 오일러 각 사용 → 짐벌락 발생 가능.
- 행렬 회전도 오일러 각 기반이면 짐벌락 위험 있음.
- Quaternion을 사용하면 짐벌락 회피 가능.
정답: ④
문제 12. Direct3D 자원관계
문제 해설:
- 조명 정보는 인덱스 버퍼가 아닌 쉐이더 상수 버퍼에 저장.
- 인덱스 버퍼: 정점 순서를 지정하는 역할.
정답: ④
문제 13. 확산 반사 처리
문제 해설:
- 구면 조화 함수(Spherical Harmonics, SH):
- 저주파 확산 반사 표현에 적합.
- IBL: 환경 맵 기반 조명.
- 프레넬: 반사각에 따른 반사율 변화.
- 거칠기 맵은 미세 의 분포를 조절하여 빛의 반사 양상을 결정. 미세면 이론 기반으로, 표면의 질감과 반사를 현실감 있게 구현.
정답: ②
문제 14. 충돌 감지 함수
문제 해설:
매개 변수와 충돌 방식을 보면 됨.
- (cx, cy, r) → 원의 중심 좌표와 반지름.
- (rx, ry, w, h) → 사각형의 좌상단 좌표, 너비, 높이.
- 원의 중심과 사각형의 가장 가까운 거리 계산.
- 그 거리와 반지름 비교 → 충돌 판정.
정답: ③
문제 15. 퐁 셰이딩
문제 해설:
- 퐁 반사 모델 구성:
- 주변광 (Ambient): 전체적으로 은은한 빛.
- 확산 반사 (Diffuse): 표면에 부딪히는 빛.
- 스페큘러 반사 (Specular): 하이라이트 반사.
- 서피스(Surface): 단순 표면, 반사 구성 요소 아님.
문제 16. 벡터 연산 활용
문제 해설:
- 벡터의 크기 계산: 거리 계산, 속도 크기 판정, 공격 범위 체크 등
- 벡터의 덧셈 계산: 이동 경로 합산, 카메라 위치 오프셋 등
- 벡터의 뺄셈 계산: 방향벡터 계산, 상대 위치 계산, 추적 방향 등
- 벡터의 외적 계산: 외적은 두 벡터가 이루는 면의 방향을 나타냄 , 법선 벡터 계산, 회전 방향 판정, 조명 계산 등
정답: ④
문제 17. 렌더링 파이프 라인
문제 해설:
- 렌더링 파이프라인 주요 단계:
- 모델 변환
- 뷰 변환
- 클리핑
- 래스터화
- 벡터 정규화는 수학적 연산, 파이프라인 고유 단계는 아님.
정답: ③
문제 18. SIMD 기술 사용 목적
문제 해설:
- SIMD (Single Instruction Multiple Data):
- 한 번에 여러 데이터를 처리.
- 벡터, 행렬 연산에서 성능 향상.
- 멀티스레드는 MIMD 영역.
정답: ②
문제 19. 렌더링 패스 최적화
문제 해설:
- 렌더링 패스:
- 1회 그릴 때 사용하는 단계.
- 효과 많을수록 성능 저하.
- 효과를 줄이면 최적화.
정답: ②
문제 20. HLSL
문제 해설:
- 시맨틱(Semantic):
- POSITION, NORMAL, TEXCOORD 등.
- 데이터가 파이프라인에서 어떤 역할인지 지정.
- 내장함수: 쉐이더 기본 제공 함수, 수학/텍스처 처리 등
- GPU 레지스터: GPU의 고속 임시 저장소, 변수 계산 중 사용
- 연산자: 계산 및 비교
정답: ①
문제 21. 선을 부드럽게 표현하는 기법
문제 해설:
- Anti-Aliasing (AA):
- 픽셀 계단 현상 제거.
- 선과 곡선을 부드럽게 표현.
- MSAA, FXAA, TAA 등이 있음.
- 나머지 보기: 무관한 용어.
정답: ①
문제 22. 지연 렌더링 시 생성 데이터
문제 해설:
- Depth Buffer:
- Z값 저장, 픽셀 깊이 정보.
- 지연 렌더링에서 첫 번째 패스에서 필수로 생성.
- Normal Buffer: 표면 법선 정보.
- Frame Buffer: 최종 출력 이미지.
- Ambient Occlusion: 빛이 닿지 않는 부분을 어둡게 하는 기법 - 무관
정답: ②
문제 23. 표현 기법
문제 해설:
- Billboard:
- 항상 카메라를 향하는 2D 평면.
- 3D 환경에서 간단한 나무/구름 등 표현에 사용.
- Polygon Tree: 복잡한 모델.
- Cross Tree: Billboard의 응용 형태.
문제 24. 렌더링 방식
문제 해설:
- View Frustum Culling:
- 카메라의 시야각 프러스텀 외부의 물체는 렌더링 제외.
- 문/창문을 통해 보이는 물체 선별 가능.
- 오답 설명:
- BSP는 공간 분할, 복잡한 오 클루 전.
- Backface는 보이지 않는 뒤쪽 면 제거.
- Octree Culling :3D 공간을 8등분 → 보이지 않는 영역 렌더링 제외.
정답: ③
문제 25. 뷰 변환
문제 해설:
- 뷰 스페이스 변환:
- 카메라 기준으로 월드 좌표계를 변환.
- 카메라 위치를 원점으로 이동.
- 오답 설명:
- 투영 변환: 3D → 2D 변환.
- 로컬/월드: 객체 위치 기준 변환.
정답: ③