본문 바로가기
반응형
[C++로 배우는 게임 엔진 개발] Day 16: 2D 조명과 그림자 효과 2D 조명과 그림자 효과오늘은 OpenGL과 GLSL을 사용하여 2D 조명과 그림자 효과를 구현하는 방법을 학습하겠습니다. 이를 통해 게임 그래픽을 더욱 현실감 있게 만들 수 있습니다.1. 조명 효과의 개요조명 효과는 물체의 밝기와 색상을 변경하여 현실적인 느낌을 주는 그래픽 기법입니다. 2D 게임에서는 주로 점광원(Point Light)을 사용하여 조명 효과를 구현합니다.2. GLSL 쉐이더 수정조명 효과를 구현하기 위해 기존의 버텍스 쉐이더와 프래그먼트 쉐이더를 수정하겠습니다. 버텍스 쉐이더shaders/vertex_shader.glsl 파일을 다음과 같이 수정합니다.#version 330 corelayout(location = 0) in vec3 aPos;layout(location = 1) in .. 2024. 8. 1.
[C++로 배우는 게임 엔진 개발] Day 8: 2D 그래픽스 기초 (SDL2) 2D 그래픽스 기초오늘은 SDL2를 사용하여 2D 그래픽스를 렌더링하는 방법을 학습하겠습니다. 스프라이트를 렌더링하고, 화면에 이미지를 그리는 기초를 배워보겠습니다.1. SDL2 이미지 로딩SDL2는 SDL_image 라이브러리를 사용하여 다양한 형식의 이미지를 로드할 수 있습니다. 먼저 SDL_image 라이브러리를 설치하고 프로젝트에 추가합니다. CMakeLists.txt 수정CMakeLists.txt 파일에 SDL_image 라이브러리를 추가합니다.cmake_minimum_required(VERSION 3.10)# 프로젝트 이름과 버전 설정project(GameEngine VERSION 1.0)# C++ 표준 설정set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD.. 2024. 8. 1.
[C++ 게임 개발 시리즈] Day 12: 2D 물리 엔진 기초 (Box2D) 2D 물리 엔진 기초 (Box2D)물리 엔진은 게임에서 현실적인 움직임과 상호작용을 구현하는 데 사용됩니다. 오늘은 2D 물리 엔진인 Box2D를 사용하여 간단한 물리 효과를 구현하는 방법을 학습하겠습니다.Box2D 설치 및 설정Box2D는 2D 물리 엔진으로, 다양한 게임에서 물리 시뮬레이션을 제공하는데 사용됩니다.Box2D 설치Box2D 다운로드:Box2D GitHub 페이지에서 최신 버전을 다운로드합니다.Box2D 빌드:CMake를 사용하여 Box2D를 빌드합니다. 터미널이나 명령 프롬프트에서 다음 명령어를 실행합니다. cmake -Bbuild -H.cmake --build buildBox2D 라이브러리 포함:빌드된 Box2D 라이브러리를 프로젝트에 포함합니다.Box2D 기본 사용법Box2D는 물리.. 2024. 8. 1.
[C++ 게임 개발 시리즈] Day 11: 타일 맵과 맵 에디터 사용법 타일 맵과 맵 에디터 사용법타일 맵은 작은 이미지를 배열하여 큰 지도를 만드는 기술입니다. 게임 개발에서 주로 배경이나 맵 디자인에 사용됩니다. 오늘은 타일 맵을 생성하고, 이를 관리하기 위한 맵 에디터 사용법을 학습하겠습니다.타일 맵 기본 개념타일 맵은 여러 개의 작은 이미지를 사용하여 큰 맵을 구성합니다. 각 타일은 동일한 크기를 가지며, 타일 맵은 2차원 배열로 표현됩니다.타일(Tile): 맵을 구성하는 기본 단위입니다. 타일은 주로 정사각형이나 직사각형 모양을 가집니다.타일셋(Tileset): 여러 타일 이미지를 하나의 큰 이미지로 모아 놓은 것입니다.타일 맵(Tile Map): 타일을 배열하여 큰 지도를 만든 것입니다. 2차원 배열로 표현됩니다.SFML을 사용한 타일 맵 구현타일셋 이미지먼저, .. 2024. 8. 1.
[C++ 게임 개발 시리즈] Day 8: 2D 그래픽 기본 개념 2D 그래픽 기본 개념2D 그래픽은 게임 개발에서 시각적 요소를 표현하는 중요한 부분입니다. 오늘은 2D 그래픽의 기본 개념을 학습하고, 이를 SFML을 사용하여 구현하는 방법을 알아보겠습니다.2D 그래픽 기본 요소스프라이트(Sprite):스프라이트는 게임에서 캐릭터, 아이템, 배경 등의 이미지를 나타내는 2D 비트맵입니다.스프라이트는 텍스처(Texture)를 사용하여 렌더링됩니다.텍스처(Texture):텍스처는 스프라이트에 적용되는 이미지입니다.텍스처는 이미지 파일에서 로드하여 스프라이트에 매핑됩니다.애니메이션(Animation):애니메이션은 여러 스프라이트 프레임을 순차적으로 표시하여 움직임을 표현하는 기술입니다.프레임 기반 애니메이션과 보간 기반 애니메이션이 있습니다.타일 맵(Tile Map):타일.. 2024. 8. 1.
반응형