# OpenGL

123개의 포스트
post-thumbnail

OpenGL로 2D 플랫폼 게임만들기 - 4. 충돌체크3 4면 충돌체크

4가지 면 충돌체크를 만들 생각을 하다보니 콜라이더는 ground에 있어야 한다고 생각했다. ground가 player를 밀어내야하기 때문이다. 그리고 Collider는 sprite에만 있으면 안되고 자체적인 class가 따로 있어야 한다고 생각한다. 이건 나중에 생각

3일 전
·
0개의 댓글
·
post-thumbnail

OpenGL로 2D 플랫폼 게임만들기 - 3. 충돌체크2

저번에는 AABB로 했다면 이번엔 영역 침범시 밀어내는 힘을 만들어 충돌체크를 하는 방식을 만들어 보자. 원리는 다음과 같다.두 벡터의 교차점을 이용해서 교차점과 교차점 사이 벡터만큼 밀어내어 영역침범이 일어나지 않게 한다. player충돌지점 ~ 충돌지점 거리 및 방

3일 전
·
0개의 댓글
·
post-thumbnail

[OpenGL] 10. Alpha Blending & Multi-Texturing

Alpha Blending투명한 오브젝트를 렌더링하는 방법이다.단색이 아니라 오브젝트 자체가 가지고 있는 컬러와 뒤에 있는 다른 오브젝트의 컬러를 일정 비율로 혼합하여 렌더링한다.Multi-Texturing두개의 서로 다른 Texture 를 Blending하여 새로운

7일 전
·
0개의 댓글
·
post-thumbnail

OpenGL로 2D 플랫폼 게임만들기 - 2. 충돌체크1 AABB

sprite 두개를 만들어서 충돌체크를 해보자. stage에 두 사각형을 만들고 겹치면 색이 바뀌는 코드를 만들어보자. 두 sprite는 그려지는 모양(render)과 위치(init)이 다르므로 함수 오버로드를 했다. 나중에는 몬스터도 있고 아이템도 있고 그럴텐도 각

7일 전
·
0개의 댓글
·
post-thumbnail

OpenGL로 2D 플랫폼 게임만들기 - 1. 기본 구조

먼저 전체적인 구조는 다음과 같다. 파일 구성 main.cpp Include.h Stage.h Stage.cpp Sprite.h Sprite.cpp Vector2D.h Vector2D.cpp

7일 전
·
0개의 댓글
·
post-thumbnail

[OpenGL] 9. Texture Mapping

Texture Mapping오브젝트 표면에 세부적인 질감의 묘사를 하거나 색을 칠한다.Texture 좌표계에 Bilinear interpolation을 적용하여 색을 결정한다.믹싱된 색상이 나타난다.GPU 메모리로 Texture 데이터를 옳긴 후에만 가능하다.Textu

2023년 5월 30일
·
0개의 댓글
·

[OpenGL] 8. Shading

현실의 물리 법칙과 다르게 동작한다.빛을 3가지 종류로 구분하여 게산한 후 합치는 방식이다.Ambient Reflection, Diffuse Reflection, Specular Reflection주변의 다른 물체면으로 부터 반사되어온 빛이다.주변 반사에 의해 물체면으

2023년 5월 16일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 7. Shader Programming

Per-Vertex Lighting 계산만 지원한다.Lighting 계산은 Vertex Processor에서만 이루어진다.하이라이트에서 오는 반사성 효과는 무시한다.Per-Fragment Lighting 계산을 지원한다.Lighting 계산이 Fragment Proce

2023년 5월 4일
·
0개의 댓글
·
post-thumbnail

(번역) 크롬은 WebGPU API를 기본값으로 제공할 것이며, 이것이 중요한 이유는 다음과 같습니다.

차세대 웹 그래픽인 WebGPU API는 WebGL의 단점을 해결하는 것을 목표로 합니다.

2023년 5월 1일
·
2개의 댓글
·

[OpenGL] OpenGL 함수 정리

void glutInit (int \*argc, char \*\*argv);GLUT와 openGL 환경 초기화void glutInitDisplayMode (unsigned int mode);컬러모델, 윈도우 버퍼 등 초기의 출력 모드를 결정한다.GLUT_DOUBLE:

2023년 4월 22일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 6. Clipping & Rasterization

📌 Clipping & Rasterization > Clipping 화면 밖 요소들을 렌더링에서 제외시킨다. Rasterization 각 Primitive들을 이용해 Fragment 집합을 생성한다. 📌 Temp -

2023년 4월 20일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 5. Vertex Processor

정점 좌표를 좌표계에 따라 순차적으로 변환시켜 카메라 기준의 좌표계로 맞춘다.Object coordinates -> Camera coordinates -> Screen coordinates 순으로 변환한다.Object Coordinates를 Camera Coordina

2023년 4월 13일
·
0개의 댓글
·

[OpenGL] 4. Transformations

Transformations 📌 Homogeneous Coordinates > -

2023년 4월 13일
·
0개의 댓글
·
post-thumbnail

[ OpenGL / CMake ] 개발환경 구성하기(1)

"준비됐어, GL?" // "아아... 물론이지, CMake"

2023년 4월 8일
·
0개의 댓글
·

[게임 개발 : 배틀 콥스] 게임 소개, 구현한 기능

방향키를 이용하여 로봇을 움직일 수 있다. 문 밖으로 나가면 카메라가 이동하여 필드화면으로 이동한다.AI 로봇 3대와 전투를 벌인다. x키를 이용하여 돌을 줍고 c키를 이용하여 플레이어의 로봇이 보는 방향으로 돌을 던진다. 로봇이 던진 돌덩이에 맞으면 쓰러지고 움직이지

2023년 4월 7일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 1. Redering Pipeline

OpenGL의 작업 중 가장 큰 부분을 차지하는 것은 3D 좌표를 2D 좌표로 변환하는 작업이다.OpenGL은 Redering Pipeline을 통해 3D 좌표를 2D 좌표로 변환하는 작업을 수행한다.Redering Pipeline은 State Machine 메커니즘을

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 7. 텍스처 입히기

stb_image.h 라이브러리가 미리 컴파일된 헤더에 적용이 안되서 main.cpp에 Texture클래스를 생성함

2023년 3월 31일
·
0개의 댓글
·

[OpenGL] 6. 조명 생성하기

전체 변환을 계산하고 월드 좌표와 노말을 프래그먼트에 넘겨준다.주변 조명(ambient), 산란 반사 조명(diffuse), 거울 반사 조명(specular) 값을 계산한다.Light클래스main.cpp실행화면

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 3. Objects

그래픽세계에서 컴퓨터는 가상으로 만든 3D 모델을 사용해 객체를 화면에 출력한다.3D 모델은 정점(Vertices)과 면(Faces)로 이루어져 있다.정점데이터 복제하는 방식으로 3D 모델 데이터를 저장하는 모델이다.각 정점들이 복제된 만큼 메모리 사용량이 증가하지만,

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

[OpenGL] 2. Camera

그래픽세계에서 컴퓨터는 가상으로 카메라를 생성해 화면을 출력한다.Perspective projection소실점 존재하여 선들이 소실점으로 모인다.Orthographic projection선들이 평행하게 진행한다.장면의 일부 형상을 제외하고, 장면의 특정 부분만 렌더링하

2023년 3월 30일
·
0개의 댓글
·