Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 뱀과사다리게임
- 24779
- 2565번
- 드래곤플라이트 모작
- C++
- lis응용
- directx12 그리기 연산2
- 그리기 연산
- 루트서명
- 백준
- BFS
- DirectX12
- 백준 24444 c++
- 백준 c++ 24479번
- Unreal
- Perforce
- 11286번
- dx12
- 바이토닉 수열
- 랜더링 파이프라인
- 애니메이션
- 4134번
- 다익스트라
- unrealengine
- WinAPI
- 2075번
- 2d 박스충돌
- 다음소수
- 백준 1260 c++
- dx12 정리
Archives
- Today
- Total
game-1 님의 블로그
Open_GL 공부 본문
예전에 open gl을 이용해서 space tank라는 게임을 제작했었는데
파일 분리도 제대로 안되고 너무 못만든 것 같아서,, ㅋㅋㅋㅋㅋ
부끄럽지만 한 번 다듬어 볼겸, 오픈지엘 공부와 함께 게임 제작과정을 블로그에 남겨보고자 합니다.
오늘은 오픈지엘의 기본 개념과 필요한 정보들을 정리해 보았습니다.

1. OpenGL의 기본 개념
- 렌더링 파이프라인
- 1.입력 데이터 (VAO, VBO)
2.버텍스 셰이더
3.테셀레이션 셰이더
4.지오메트리 셰이더
5.래스터화
6.프래그먼트 셰이더
7. Depth Test & Blending
8.프레임 버퍼 출력 - 좌표계 이해: 로컬 → 월드 → 뷰 → 클립 → 스크린 좌표로 변환되는 과정 이해가 중요합니다.
- 셰이더 프로그래밍: GLSL로 작성하며, 각 단계에서 데이터를 변환하고 처리하는 역할을 합니다.
2. 필수 라이브러리 및 도구
- GLEW: OpenGL 확장 기능 로더.
- GLFW: 창 및 입력 처리용 라이브러리.
- GLM: 수학 라이브러리로, 벡터 및 행렬 연산을 지원합니다.
- Assimp: 3D 모델 파일 로딩 라이브러리.
- SOIL: 텍스처 로드 라이브러리.
3. 학습 자료 및 튜토리얼
- OpenGL 공식 문서: Khronos OpenGL
- Learn OpenGL: Learn OpenGL
- OpenGL SuperBible와 OpenGL Programming Guide(레드북) 같은 참고 서적.
4. 기능별 심화 학습
- 조명: Phong, Blinn-Phong, PBR(Physically Based Rendering) 구현.
- 텍스처 매핑: 2D/3D 텍스처, 큐브 맵, 텍스처 애니메이션.
- 프레임 버퍼: 화면 이펙트(Post-processing) 구현.
- 모델링: Assimp를 활용해 .obj, .fbx 모델 로드.
- 물리: 물리 엔진과의 연동(Box2D, Bullet).
5. 성능 최적화
- VAO/VBO 사용: 효율적인 데이터 관리.
- Frustum Culling: 보이지 않는 객체 제외.
- Instancing: 동일한 객체를 다수 렌더링할 때 성능 최적화.
- 멀티스레드: 병렬 처리를 통해 CPU 활용률 증가.
6. 게임 제작을 위한 확장
- UI 렌더링: ImGui와 같은 라이브러리 사용.
- 오디오 처리: OpenAL 또는 FMOD 통합.
- 네트워킹: SDL_net 또는 다른 네트워크 라이브러리.
- 애니메이션: Skeletal Animation과 Morph Target Animation 학습.
'OpenGl' 카테고리의 다른 글
| [open_GL] window에서 glew32.dll 파일 없는 문제 (0) | 2025.01.21 |
|---|