일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ability task
- Aegis
- gameplay ability system
- CTF
- UI
- gameplay tag
- Replication
- attribute
- 보안
- animation
- nanite
- widget
- gameplay effect
- gas
- photon fusion2
- listen server
- Multiplay
- MAC
- 언리얼엔진
- rpc
- stride
- os
- 게임 개발
- 언리얼 엔진
- unity
- Unreal Engine
- 유니티
- 게임개발
- C++
- local prediction
- Today
- Total
목록2025/05/30 (6)
Replicated
뮤텍스한 번에 하나의 스레드만 임계 영역에 진입할 수 있도록 하는 락 메커니즘 특징- 이진 상태(잠금, 해제)로 동작- 뮤텍스를 소유한 스레드만 해제할 수 있음- 주로 단일 리소스 보호에 사용 세마포어지정한 수의 스레드가 동시에 임계 영역에 진입할 수 있도록 허용하는 카운터 기반의 동기화 도구 특징- 정수 값을 가지며, 공유 자원의 개수를 나타냄- 스레드는 세마포어의 값을 감소시키며 진입, 작업이 끝나면 값을 증가시켜 다른 스레드가 진입할 수 있도록 함- 뮤텍스보다 더 일반적인 형태의 동기화 도구 그럼 조건 변수(Condition Variable)는?락은 상호 배제를 위해, 조건 변수는 동기화를 위해 사용함 int done = 0;pthread_mutex_t m = PTHREAD_MUTEX_INITIA..
3D 그래픽스에서 조명과 픽셀 색상을 계산하는 서로 다른 렌더링 파이프라인 방식 Forward Rendering모든 오브젝트를 렌더링할 때 조명 계산을 동시에 수행하는 방식오브젝트를 그릴 때 픽셀 당 조명 정보를 바로 계산함 특징- 조명과 쉐이딩이 렌더링 시점에 직접 적용됨- 각 픽셀에서 사용하는 조명의 수가 제한됨- 투명 객체 처리에 유리- 구현이 비교적 단순 장점- 투명도 처리에 강함- MSAA같은 전통적 안티 앨리어싱과 잘 작동- 낮은 수의 조명일 경우 빠름 단점- 많은 수의 조명이 있을 경우 성능 급락- 조명이 많은 씬에서 비효율적 Deferred Rendering렌더링을 두 단계로 나눔1. G-Buffer에 기하학 정보(법선, 색상, 깊이 등)를 저장2. 그 후 저장된 정보로 조명 연산을 한 ..
모델이 검게 나오는 경우 1. 조명- 광원이 없는가- 광원이 너무 멀거나 약한가- 모델이 그림자 안에 있는가 2. 머티리얼/쉐이터- 알베도 색이 검정인가- 텍스처 누락, 에러- 노말 맵 강도가 이상한가- 쉐이더 오류 3. 노말 벡터 방향 확인- 노말 벡터가 반전되어 있는가 (조명이 반대 방향으로 계산됨)- 모델이 뒤집혀 있는가 4. 라이트맵, 전역 조명(GI) 관련- 라이트맵이 깨졌는가- GI 데이터 손상- Light Probe 관련 5. 카메라 후처리 영향 6. 기타- UV 오류- 카메라 클리핑- 백페이스 컬링 물체가 깜빡거리는 Z-figting 문제 원인과 해결책두 개의 표면이 화면 상 거의 같은 깊이에 있을 때 발생, 렌더링 시 GPU가 어떤 면을 그릴지 결정하지 못해 생기는 오류깊이 버퍼 상에서..
텍스처 압축 방식3D 그래픽에서 사용되는 이미지 데이터를 효율적으로 저장하고 전송하기 위해 사용되는 기술DXT(S3TC), ETC, PVRTC, ASTC 등의 압축 방식이 있음 DXT / S3TC(S3 Texture Compression)플랫폼: 주로 PC, Xbox, 일부 안드로이드 형식- DXT1: RGB (또는 1비트 알파), 4bpp- DXT3: RGBA (명확한 알파), 8bpp- DXT5: RGBA (인터폴레이션된 알파), 8bpp 장점- GPU에서 바로 사용 가능 (압축 해제 필요 없음)- DirectX 기반 시스템에서 널리 지원됨단점- 블록 크기가 고정(4x4 픽셀), 작은 디테일 표현에 약함- 알파 압축 품질이 낮음 ETC (Ericsson Texture Compression)플랫폼: O..
Draw Call- CPU가 GPU에 렌더링 명령을 보내는 단위, 이 오브젝트를 이렇게 그려줘 많은 경우- CPU 병목 발생 및 렌더링 성능 저하 -> FPS 하락 줄이는 방법1. 배칭(Batching)- 여러 개의 오브젝트를 하나의 드로우 콜로 묶어서 렌더링하는 방식- Static Batching: 위치가 고정된 오브젝트들을 미리 합쳐서 렌더링- Dynamic Batching: 움직이는 오브젝트지만 조건이 맞으면 하나로 묶어서 처리 2. 인스턴싱(Instancing)- 같은 메시를 여러 위치에 배치할 때 GPU가 한 번에 그릴 수 있도록 처리- ex. 100개의 동일한 나무 -> 인스턴싱으로 드로우 콜 한 개로 처리 가능 3. 머티리얼 합치기, 쉐이더 최적화- 서로 다른 머티리얼을 사용하는 오브젝트는 ..
Projection Matrix(투영 행렬)의 역할3D 그래픽스와 컴퓨터 비전에서 3차원 공간의 좌표를 2차원 화면에 표시하기 위해 사용되는 행렬 주요 역할1. 3D -> 2D 변환 (투영)- 3차원 세계의 점을 2차원 화면 공간으로 변환- 깊이(z값)는 보존되지만 위치는 2D 평면으로 투영됨 2. 시야(FOV), 종횡비(aspect ratio), 근/원거리 평면 설정- ex. 멀리 있는 물체는 작게, 가까이 있는 물체는 크게 보이도록 3. 원근 투영(Perpective Projection), 직교 투영(Orthographic Projection) Perspective Projection vs Perspective Projection항목Orthographic Projection (직교 투영)Perspe..