본문 바로가기

Game/Graphics

(68)
Learn OpenGL Site link : https://learnopengl.com 동아리 형과 함께 팀으로 프로젝트를 진행하기로 했고, 위의 사이트에서 기본 지식을 다진 후 프로젝트를 진행하기로 했다. 내용이 방대하고 자세하게 나와있기 때문에 꼼꼼하고 꾸준한 공부가 필요할듯하다. 파이팅!
OpenGL-Tutorial 19 : Particles / Instancing link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/billboards-particles/particles-instancing/ Wow 마지막 튜토리얼이다. 꾸준히 달려온 나에게 칭찬을 보낸다. 하지만 튜토리얼을 진행해오면서 이해가 덜된 부분이 많기 때문에 복습을 다시 할 것이다. 복습 후에는 가볍게 게임을 하나 만들어봐야지! 화이팅! Particles / Instancing particle은 3D billboards와 매우 유사하다. 두 가지 차이점이 있다 : 1) 많은 것들이 합쳐져있고, 움직인다2) 나타나고 죽고, 그들은 반투명하다 이 두 가지 차이는 모두 문제가 있다. 이 튜토리얼에서는 문제를 해결할 수 있는 방법을 제시한다. Part..
OpenGL-Tutorial 18 : Billboards link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/billboards-particles/billboards/ 이번 튜토리얼은 한글로 번역이 되어있다! 개꿀~~~ Billboards 빌보드는 3D공간에서 표현되는 2D 요소다. 화면 내 모든 것을 가리는 2D 메뉴 같은 것도 아니고, 회전시키는 3D 평면도 아니다. 대부분의 게임에서 체력바를 표시할 때 사용하는 것이라고 생각하면 된다. 빌보드가 다른 요소들과 다른 점은 공간에서 위치를 가지되 회전은 자동으로 계산되어 항상 카메라를 바라보게 만든다는 점이다. Solution #1 : 2D 방식 이 방법은 매우 쉽다. 단순히 화면 내 위치를 계산하고, 이 위치에 2D 텍스트를 표시한다. (튜토리얼..
OpenGL-Tutorial 17 : Rotations link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-17-quaternions/ 이 튜토리얼은 OpenGL의 범위를 벗어나지만 매우 일반적인 문제, 즉 회전을 표현하는 방법을 다룬다. Tutorial 3 - Matrices에서 행렬은 특정 축을 중심으로 점을 회전시킬 수 있음을 알게 되었다. 행렬은 정점을 변환하는 깔끔한 방법이지만 매트릭스 처리는 어렵다. 예를 들어 최종 행렬에서 회전 축을 가져 오는 것은 매우 까다롭다. 회전을 표현하는 가장 일반적인 두 가지 방법, 즉 오일러 각도와 쿼터니언을 제시한다. 가장 중요한 것은 Quaternions를 사용해야하는 이유를 설명할 것이다. Foreword: rotation VS or..
OpenGL-Tutorial 16 : Shadow mapping link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-16-shadow-mapping/ Tutorial 15에서는 정적 조명을 포함하는 라이트 맵을 만드는 법을 배웠다. 매우 멋진 그림자를 생성하지만 애니메이션 모델은 처리하지 않는다. 그림자 맵은 현재 (2016년 기준) 동적 그림자를 만드는 방법이다. 그들에 대한 좋은 점은 일하기가 상당히 쉽다는 것이다. 나쁜 점은 제대로 작동하기가 대단히 어렵다는 것이다. 이 튜토리얼에서는 먼저 기본 알고리즘을 소개하고, 단점을 확인한 다음 더 나은 결과를 얻기 위해 몇가지 기술을 구현한다. Basic shadowmap 기본 그림자 맵 알고리즘은 두 단계로 구성된다. 먼저, 장면은 빛의 관..
OpenGL-Tutorial 15 : Lightmaps link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-15-lightmaps/ 이것은 비디오 전용 자습서이다. 새로운 OpenGL 관련 기술 / 구문을 소개하지는 않지만, 이미 알고있는 기술을 사용해 고품질의 그림자를 만드는 방법을 보여준다. 이 튜토리얼은 블렌더에서 간단한 세계를 만드는 방법과 라이트 맵을 베이크해 어플리케이션에서 사용할 수 있게 해준다. Blender에 대한 사전지식이 필요하지 않다. 나는 모든 키보드 단축키와 모든 것을 설명할 것이다. A note on lightmaps 라이트 맵은 구워진다. 딱 한 번만. 이것은 완전히 정적이라는 것을 의미한다. 런타임 중에는 라이트를 이동할 수 없다. 혹은 제거해야한다...
OpenGL-Tutorial 14 : Render To Texture link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-14-render-to-texture/ Render-To-Texture는 다양한 효과를 만드는 몇 가지 방법입니다. 기본 아이디어는 평상시처럼 장면을 렌더링하는 것이지만 이번에는 나중에 다시 사용할 수 있는 질감으로 렌더링하는 것입니다. 게임 속의 카메라, post-processing, 당신이 상상할 수 있을만큼 많은 GFX 등의 응용프로그램이 있다. Render To Texture 세 가지 작업이 있습니다 1) 렌더링 할 텍스처 만들기2) 실제로 무언가를 렌더링하기3) 생성된 텍스처를 사용하기 Creating the Render Target 우리가 렌더링하려고 하는 것은 F..
OpenGL-Tutorial 13 : Normal Mapping link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-13-normal-mapping/ 이번 튜토리얼은 사진이 많다. 그만큼 어려운 부분도 많겠지만 열심히 시작해보자! 튜토리얼 8 : Basic shading 이후로 삼각형 법서을 사용해 적절한 쉐이딩을 얻는 방법을 알고 있다. 한 가지 주의해야할 점은 지금까지는 정점당 하나의 법선만 있었다.: 각 삼각형 내부에는 텍스처와 샘플링되는 색상의 반대쪽에서 부드럽게 변한다 정규 맵핑의 기본 개념은 법선을 유사하게 만드는 것이다. Normal textures "normal texture"는 다음과 같이 생겼다. 각 RGB texel에는 XYZ 벡터가 인코딩된다. 각 색상 구성 요소는 0..