일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 잔디 기부 캠페인
- 잔디 기부
- gemmasprint
- c++ 5567
- PCCE
- pccp 기출문제 풀이
- DirectX12
- pcce 기출문제 9번 지폐 접기
- root signature
- boj 22942
- 백준 5567
- render target
- directx 그래픽스
- boj 5567
- 오블완
- pcce 기출문제 10번 지폐 접기 풀이
- 렌더링 파이프
- depth-stencil
- c++ 1991
- tessellation
- constant buffre
- pcce 기출문제 풀이
- DirectX
- pcce 기출문제 10번 공원
- 데이터 체커
- orthographic projection
- boj 1991
- 프로그래밍공부
- texture mapping
- pcce 기출문제 10번 공원 풀이
- Today
- Total
목록Game (10)
오구의코딩모험
멀티스레드와 동기화 기법: 게임 서버와 병렬 프로그래밍 멀티스레드는 게임 서버와 같은 고성능 프로그램에서 필수적인 요소입니다.이번 글에서는 Web Server와 Game Server의 차이, 멀티스레드와 동기화 문제, Atomic과 Mutex, Deadlock의 위험과 해결법을 중심으로 학습한 내용을 정리합니다. 1. Web Server와 Game Server의 차이 Web Server (HTTP Server)- Web Server는 질의/응답 형태로 작동합니다. * ex) 테이크아웃 전문 식당처럼 요청에 대한 응답을 빠르게 처리.Game Server (TCP Server, Binary Server, Stateful Server)- Game Server는 실시간 상호작용(Interaction)을..
게임 개발에서 배우는 그림자 처리와 애니메이션 기법 게임 개발에서 그림자 처리, 지형 렌더링, 픽킹(Picking), 애니메이션(Skinning)은 사실적인 그래픽 구현과 상호작용을 위해 중요한 역할을 합니다.이번 글에서는 Shadow Mapping, Tessellation, Terrain, Picking, Animation(Skinning)과 관련된 개념과 원리를 정리해 보았습니다. 1. Shadow Mapping Shadow Mapping이란?- Shadow Mapping은 빛의 기준으로 앞에 물체가 있을 경우 그림자를 표현하는 기술입니다. - 그림자는 빛의 방향과 물체 간의 관계를 계산하여 생성됩니다. 그림자 품질 개선 - 그림자가 깨지지 않으려면, 그림자를 그리는 화면 크기를..
게임 개발에서 배우는 렌더링 기법과 최적화 개념 게임 개발은 복잡한 그래픽 요소를 효율적으로 처리하는 기술과 최적화 기법을 요구합니다.이번 글에서는 Frustum Culling, Quaternion, Orthographic Projection, 렌더링 기법, Compute Shader, Particle System, Instancing의 개념의 학습한 내용을 중심으로 정리합니다. 1. Frustum Culling Frustum Culling이란? - Frustum Culling은 절두체 영역 내에 있는 물체만 렌더링하는 기술입니다. - 렌더링할 필요가 없는 물체는 CPU에서 예외 처리하여 GPU 연산을 최소화합니다. - 이 과정은 성능 최적화에 큰 도움을 주며, 복잡한 3D 장면에서 필수적..
게임 개발에서 배우는 다양한 개념과 그래픽 처리 게임 개발에는 데이터 관리, 그래픽 처리, 좌표 변환 등 다양한 개념이 포함됩니다. 이번 글에서는 union, 좌표계 변환, 광원(Light)와 빛의 특징, 그리고 Normal Mapping 을 중심으로학습한 내용을 정리합니다. 1. 데이터 관리와 코드 구조 Union - union은 동일한 데이터를 여러 형식으로 접근할 수 있게 합니다. - 메모리를 효율적으로 관리할 수 있지만, 데이터 해석의 일관성에 유의해야 합니다. DirectX SimpleMath 헤더 - DirectX의 SimpleMath 헤더에는 좌표계 변환과 관련된 함수들이 포함되어 있습니다. - 단, 오른손 좌표계 를 기준으로 동작하므로, 부호 설정을 정확히 해야 합니다. ..
게임 개발에서 배우는 행렬과 좌표 변환 게임 개발에서 행렬(Matrix)은 좌표 변환과 3D 공간을 제어하는 데 매우 중요한 역할을 합니다.이번 글에서는 행렬의 기본적인 연산, 변환의 순서, 그리고 로컬 좌표에서 스크린 좌표로 변환하는 과정을 정리합니다.초심자의 관점에서 배우고 기록한 내용을 공유합니다. 1. 행렬의 기본 개념 행렬의 곱- 행렬 A(m × n)과 B(n × p)를 곱하면 결과는 C(m × p)가 됩니다. - 교환 법칙 : 성립하지 않습니다. (A × B ≠ B × A) - 결합 법칙 : 성립합니다. ((A × B) × C = A × (B × C)) 역행렬 - 역행렬 은 행렬을 곱했을 때 단위행렬로 돌아오게 하는 행렬입니다. - 예: A × A⁻¹ = I (단위행렬) ..
Component, 삼각 함수, Vector게임 개발은 다양한 기술과 수학적 개념이 결합된 창의적인 작업입니다.이번 글에서는 Unity와 Unreal의 Component 시스템 비교와 함께 게임 개발에 필요한 스마트 포인터의 활용법 및 게임 수학의 기본 개념을 정리합니다. 인강을 통해 배우고 정리한 내용을 공유한 글이기에 정확하지 않은 정보가 있을 수 있으며,수정이 필요하다면 언제든 댓글 작성해주시면 감사하겠습니다! 1. Component 시스템 이해 Unity의 Component 기반 구조 Unity는 Component를 사용해 객체에 필요한 기능만 추가할 수 있는 모듈화된 설계를 제공합니다. - GameObject는 기본적인 틀이며, 다양한 Component(예: Transform, Rig..
Input과 Timer, Material DirectX는 게임 개발에 필수적인 요소들을 다룰 수 있는 강력한 도구입니다. 이번 글에서는 게임 입력(Input) 처리, 시간(Timer) 제어, 3D 객체의 재질(Material) 설정에 대해 공부한 내용을 공유합니다. 또한, C++의 구조체와 클래스의 차이점도 함께 다룹니다. 1. Input 시스템 이해 입력 처리란?- 입력 처리(Input Handling)는 키보드, 마우스, 게임패드와 같은 장치에서 사용자의 명령을 받아 게임 로직에 반영하는 과정입니다.- 입력 지연을 최소화하고 정확히 처리하는 것이 중요합니다. Windows API로 키 입력 처리 - Windows API를 사용하여 키보드 입력을 처리하는 간단한 방법이 있습니다. 반복 키 문..
텍스처 매핑과 좌표 변환 게임 그래픽 프로그래밍은 화면에 물체를 그리기 위한 여러 단계의 과정을 포함합니다.이 과정에서 텍스처 매핑, 좌표 변환, Rasterizer, Depth-Stencil View 등의 개념은 매우 중요한 역할을 합니다. 1. 텍스처 매핑(Text Mapping) 텍스처 매핑이란? - 텍스처 매핑은 3D 모델의 정점(Vertex) 좌표를 기준으로 이미지를 매핑하여, 물체 표면에 색상과 질감을 입히는 기술입니다. - 이 과정에서 UV 좌표가 중요한 역할을 하며, UV 좌표는 텍스처의 특정 위치를 가리키는 좌표 체계입니다. 텍스처 매핑의 활용 - 텍스처 매핑은 단순한 색상 표현을 넘어, 질감(texture), 패턴, 세부적인 디테일을 추가하여 사실적인 그래픽을 구현할 ..
게임 개발은 하드웨어를 효율적으로 활용하는 프로그래밍의 집합체입니다. 특히 GPU를 제어하는 DirectX와 같은 저수준 그래픽 API를 사용하면, 하드웨어의 성능을 최대한 이끌어낼 수 있습니다. 이번 글에서는 DirectX를 활용한 게임 프로그래밍에서 반드시 알아야 할 핵심 개념과 활용법을 설명합니다. 주요 학습 포인트 1. DirectX 개요: GPU 제어의 시작- DirectX는 GPU를 직접 제어하고 프로그램을 개발하는 데 사용되는 저수준 그래픽 API입니다. - GPU는 CPU와 별개의 메모리 구조와 동작 방식을 가지며, 이를 이해하는 것이 효율적인 프로그래밍의 시작입니다. 2. 라이브러리의 종류- 정적 라이브러리 : 프로그램에 컴파일 시 포함되어 실행 파일 크기가 증가합니다. - ..
서버 프로그래머 = 식당 관리자클라이언트 프로그래머 = 애니메이션 = 영화 촬영 감독 - 게임 화면 개발, 애니메이션과 영화 촬영은 매우 유사하다. - 세트장 / 촬영 물품 / 카메라 배치 / 조명 배치 등등 차이점은 영화 촬영은 현실 세계를게임 화면 개발은 가상 세계를 기반으로 하기 때문에게임 개발에서는 물리 현상을 수학적으로 구현해야한다. 애니메이션은 카메라 전환은 고려하지 않지만게임은 카메라 전환과 같은 실시간 갱신 또한 필요하다. 게임 애니메이션 (실시간을 지원하는가?)애니메이션 영화 (물리 현상을 수학적으로 구현하는가?) GPU, 렌더링 파이프 게임에서는 대부분의 물체가 삼각형으로 이루어져 있다.삼각형의 정점을 좌표로 사용한다. 게임 규칙과 연산의 핵심은 CPU 가 담당하고그래픽의 변환..