본문 바로가기

분류 전체보기75

0. SDL2 개발 환경 설정하기 SDL2 개발 라이브러리 내려받기 SDL은 Simple DirectMedia Layer의 약자로 밸브 게임 社의 주도 아래 유지 보수하고 있는 다목적 멀티미디어 라이브러리다. C언어로 작성되어 있어서 사실상 거의 모든 플랫폼으로 빌드할 수 있고 그래픽뿐 아니라 오디오, 파일 시스템 등 게임 개발에 필요한 기능들을 모두 제공한다. SDL1에서 SDL2로 업데이트되면서 상대적으로 무거워졌다는 의견이 많았으나 지금 시대에서는 SDL2도 가벼운 라이브러리에 들어간다. SDL2를 이용하면 간단하게 그래픽이 들어간 작업물을 제작할 수 있다. 그걸 이용해서 코드로 작성한 알고리즘을 시각적으로 이해하는 것을 목표로 한다. 이제 SDL2를 설치해보자. ▼ SDL2 공식 홈페이지 www.libsdl.org/download.. 2021. 1. 17.
1. 역순(Reverse) 역순(Reverse)의 개념 역순(Reverse)은 앞에서 n번째 값과 뒤에서 n번째 값을 차례로 교환한다. 두 값을 교환하기 때문에 배열 길이의 절반의 순환문만 돌면 된다. 만약 배열 길이만큼 돈다면 역순의 역순이라 다시 본래의 순서대로 된다. ▼앞에서 n번째와 뒤에서 n번째를 교환한다. C99 ▼ 관련 개념 Loop & Pointer & Call By Address ▼ 구현 코드 void Swap(int* lhs, int* rhs) { int _temp = *lhs; *lhs = *rhs; *rhs = _temp; } void Reverse(int iArr[], int length) { for (int i = 0; i < (length / 2); i++) { Swap(&iArr[i], &iArr[le.. 2021. 1. 17.
4. 삼각형 움직이기 이번엔 아주 간단한 애니메이션을 적용시켜본다. 쉐이더 역시 하나의 프로그램이기 때문에 외부에서 변수를 받아서 변환할 수 있는 것을 연습할 수 있다. 삼각형을 움직이는데 필요한 변수 선언 ▼ 코드 //--------------------------------------------- GLuint VAO, VBO, shader, uniformXMove; // 방향값(왼쪽, 오른쪽) bool direction = true; // 삼각형의 차이값 float triOffset = 0.0f; // 삼각형의 최대 차이값 float triMaxOffset = 1.0f; // 삼각형의 변화값 float triIncrement = 0.01f; //-------------------------------------------.. 2021. 1. 17.
0. 교환함수(Swap) 포인터 방식 C99 ▼ 관련 개념 Pointer & Call By Address ▼ 구현 코드 void Swap(int* lhs, int* rhs) { int _temp = *lhs; *lhs = *rhs; *rhs = _temp; } ▼ 사용 예시 Swap(&lhs, &rhs); 포인터(*)를 이용한 방법이다. 포인터는 C 표준에서는 함수 인자에 직접적으로 접근할 수 있는 유일한 방법이다. CPP B.11 ▼ 관련 개념 Reference & Call By Reference ▼ 구현 코드 void Swap(int& lhs, int& rhs) { int temp = lhs; lhs = rhs; rhs = lhs; } ▼ 사용 예시 Swap(lhs, rhs); 참조자(&)를 이용한 방법이다. CPP에서 추가.. 2021. 1. 17.