컴퓨터 공학/OpenGL

[최신OpenGL] 포스팅에 들어가기 앞서

James Kim_ 2025. 2. 25. 17:56

OpenGL 학습 시리즈를 시작하며

안녕하세요! OpenGL 학습 시리즈에 오신 것을 환영합니다.
이 시리즈는 컴퓨터 그래픽스의 기초부터 고급 렌더링 기술까지 OpenGL을 통해 학습할 수 있습니다.

시리즈 목적

이 시리즈는 LearnOpenGL.com의 튜토리얼을 한국어로 번역하고, 추가 설명과 실제 적용 사례를 더하여 제공합니다. 저 역시 OpenGL을 공부하며 이해한 내용을 정리하고, 다른 분들과 함께 성장하고자 이 시리즈를 시작하게 되었습니다.

대상 독자

이 시리즈는 다음과 같은 분들을 위해 준비되었습니다:

  • 컴퓨터 그래픽스의 기초를 배우고 싶은 프로그래머
  • 게임 개발이나 시뮬레이션에 관심 있는 개발자
  • C/C++ 프로그래밍 경험이 있는 학생 및 전문가
  • 3D 렌더링 파이프라인을 이해하고 싶은 분들

📋 원문 출처 및 저작권 고지

이 시리즈는  LearnOpenGL.com 사이트 콘텐츠를 기반으로 합니다. 원 저작물은 CC BY-NC 4.0 라이선스 하에 공개되어 있으며, 이 번역 시리즈 역시 같은 라이선스를 따릅니다.

📖 전체 시리즈 로드맵

이 시리즈는 다음과 같은 주제들을 다룰 예정입니다:

Part 1: 시작하기

  1. OpenGL 소개
  2. window 만들기(개발 환경 설정)
  3. 창 만들기와 첫 삼각형 그리기 -

Part 2: 기초 개념

  1. 셰이더 기초 
  2. 텍스처 
  3. 변환과 좌표계 - 예정
  4. 카메라 시스템 - 예정

Part 3: 조명

  1. 기본 조명 - 예정
  2. 재질 - 예정
  3. 조명 맵 - 예정
  4. 다중 광원 - 예정

Part 4: 고급 OpenGL

  1. 깊이 테스팅 - 예정
  2. 스텐실 테스팅 - 예정
  3. 블렌딩 - 예정
  4. 면 컬링 - 예정
  5. 프레임버퍼 - 예정
  6. 큐브맵 - 예정
  7. 고급 데이터 - 예정

Part 5: 고급 조명

  1. 고급 조명 기법 - 예정
  2. 감마 보정 - 예정
  3. 그림자 매핑 - 예정
  4. 법선 매핑 - 예정
  5. 패럴랙스 매핑 - 예정
  6. HDR - 예정
  7. 블룸 - 예정
  8. 연기 등 효과 - 예정

🛠️ 필요한 사전 지식

이 시리즈를 따라하기 위해 필요한 사전 지식은 다음과 같습니다:

  • 프로그래밍 기초: C/C++ 기본 문법과 객체지향 개념
  • 수학 기초: 선형대수학 기초 (벡터, 행렬 연산)
  • 3D 그래픽스 개념: 기본적인 3D 그래픽스 용어와 개념

모든 개념은 시리즈 내에서 단계별로 설명하므로, 완벽하게 이해하지 못하더라도 함께 배워나갈 수 있습니다.

💻 개발 환경 설정

이 시리즈의 예제를 실행하기 위해 필요한 환경은 다음과 같습니다:

  • 운영체제: Windows, macOS, Linux 모두 가능
  • 컴파일러: C++11 이상 지원하는 컴파일러 (GCC, Clang, MSVC 등)
  • 라이브러리:
    • GLFW (창 생성 및 입력 처리)
    • GLAD (OpenGL 함수 로드)
    • GLM (수학 라이브러리)

구체적인 설치 방법은 개발 환경 설정 글에서 자세히 다룰 예정입니다.

🔍 시리즈 진행 방식

매주 1~2개의 글을 발행할 예정이며, 각 글은 이론 설명, 코드 구현, 실습, 개인적 의견등 으로 구성됩니다. 모든 소스 코드는 GitHub 저장소에서 확인하실 수 있습니다.

 

부족하지만 많은 관심과 사랑 부탁드립니다.