# OpenGL

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

OpenGL로 2D 플랫폼 게임만들기 - 3. 충돌체크2
저번에는 AABB로 했다면 이번엔 영역 침범시 밀어내는 힘을 만들어 충돌체크를 하는 방식을 만들어 보자. 원리는 다음과 같다.두 벡터의 교차점을 이용해서 교차점과 교차점 사이 벡터만큼 밀어내어 영역침범이 일어나지 않게 한다. player충돌지점 ~ 충돌지점 거리 및 방
[OpenGL] 10. Alpha Blending & Multi-Texturing
Alpha Blending투명한 오브젝트를 렌더링하는 방법이다.단색이 아니라 오브젝트 자체가 가지고 있는 컬러와 뒤에 있는 다른 오브젝트의 컬러를 일정 비율로 혼합하여 렌더링한다.Multi-Texturing두개의 서로 다른 Texture 를 Blending하여 새로운

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

OpenGL로 2D 플랫폼 게임만들기 - 1. 기본 구조
먼저 전체적인 구조는 다음과 같다. 파일 구성 main.cpp Include.h Stage.h Stage.cpp Sprite.h Sprite.cpp Vector2D.h Vector2D.cpp
[OpenGL] 9. Texture Mapping
Texture Mapping오브젝트 표면에 세부적인 질감의 묘사를 하거나 색을 칠한다.Texture 좌표계에 Bilinear interpolation을 적용하여 색을 결정한다.믹싱된 색상이 나타난다.GPU 메모리로 Texture 데이터를 옳긴 후에만 가능하다.Textu
[OpenGL] 8. Shading
현실의 물리 법칙과 다르게 동작한다.빛을 3가지 종류로 구분하여 게산한 후 합치는 방식이다.Ambient Reflection, Diffuse Reflection, Specular Reflection주변의 다른 물체면으로 부터 반사되어온 빛이다.주변 반사에 의해 물체면으
[OpenGL] 7. Shader Programming
Per-Vertex Lighting 계산만 지원한다.Lighting 계산은 Vertex Processor에서만 이루어진다.하이라이트에서 오는 반사성 효과는 무시한다.Per-Fragment Lighting 계산을 지원한다.Lighting 계산이 Fragment Proce

(번역) 크롬은 WebGPU API를 기본값으로 제공할 것이며, 이것이 중요한 이유는 다음과 같습니다.
차세대 웹 그래픽인 WebGPU API는 WebGL의 단점을 해결하는 것을 목표로 합니다.
[OpenGL] OpenGL 함수 정리
void glutInit (int \*argc, char \*\*argv);GLUT와 openGL 환경 초기화void glutInitDisplayMode (unsigned int mode);컬러모델, 윈도우 버퍼 등 초기의 출력 모드를 결정한다.GLUT_DOUBLE:
[OpenGL] 6. Clipping & Rasterization
📌 Clipping & Rasterization > Clipping 화면 밖 요소들을 렌더링에서 제외시킨다. Rasterization 각 Primitive들을 이용해 Fragment 집합을 생성한다. 📌 Temp -
[OpenGL] 5. Vertex Processor
정점 좌표를 좌표계에 따라 순차적으로 변환시켜 카메라 기준의 좌표계로 맞춘다.Object coordinates -> Camera coordinates -> Screen coordinates 순으로 변환한다.Object Coordinates를 Camera Coordina
[게임 개발 : 배틀 콥스] 게임 소개, 구현한 기능
방향키를 이용하여 로봇을 움직일 수 있다. 문 밖으로 나가면 카메라가 이동하여 필드화면으로 이동한다.AI 로봇 3대와 전투를 벌인다. x키를 이용하여 돌을 줍고 c키를 이용하여 플레이어의 로봇이 보는 방향으로 돌을 던진다. 로봇이 던진 돌덩이에 맞으면 쓰러지고 움직이지
[OpenGL] 1. Redering Pipeline
OpenGL의 작업 중 가장 큰 부분을 차지하는 것은 3D 좌표를 2D 좌표로 변환하는 작업이다.OpenGL은 Redering Pipeline을 통해 3D 좌표를 2D 좌표로 변환하는 작업을 수행한다.Redering Pipeline은 State Machine 메커니즘을

[OpenGL] 7. 텍스처 입히기
stb_image.h 라이브러리가 미리 컴파일된 헤더에 적용이 안되서 main.cpp에 Texture클래스를 생성함
[OpenGL] 6. 조명 생성하기
전체 변환을 계산하고 월드 좌표와 노말을 프래그먼트에 넘겨준다.주변 조명(ambient), 산란 반사 조명(diffuse), 거울 반사 조명(specular) 값을 계산한다.Light클래스main.cpp실행화면
[OpenGL] 3. Objects
그래픽세계에서 컴퓨터는 가상으로 만든 3D 모델을 사용해 객체를 화면에 출력한다.3D 모델은 정점(Vertices)과 면(Faces)로 이루어져 있다.정점데이터 복제하는 방식으로 3D 모델 데이터를 저장하는 모델이다.각 정점들이 복제된 만큼 메모리 사용량이 증가하지만,
[OpenGL] 2. Camera
그래픽세계에서 컴퓨터는 가상으로 카메라를 생성해 화면을 출력한다.Perspective projection소실점 존재하여 선들이 소실점으로 모인다.Orthographic projection선들이 평행하게 진행한다.장면의 일부 형상을 제외하고, 장면의 특정 부분만 렌더링하