본문 바로가기

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..
[1]. 렌더링 - 01 직선 그라데이션 보호되어 있는 글입니다.
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..
Heap(힙) & Priority Queue(우선순위 큐) 힙(Heap) 힙은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(Complete binary tree)를 기본으로 한 자료구조(tree-based structure)로서 다음과 같은 힙 속성(property)을 만족한다. ::A가 B의 부모노드(parent node)이면, A의 키(key)값과 B의 키값 사이에는 대소관계가 성립한다:: 힙에는 두 가지 종류가 있으며 부모노드의 키값이 자식노드의 키값보다 항상 큰 힙을 '최대 힙', 부모노드의 키값이 자식노드의 키값보다 항상 작은 힙을 '최소 힙'이라고 부른다. 키값의 대소관계는 오로지 부모노드와 자식노드 간에만 성립하며, 특히 형제 사이에는 대소관계가 정해지지 않는다. 각 노드의 자식노드의 최대개수는 힙의 종류에 따라 다르지만..
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..
OpenGL-Tutorial 12 : OpenGL Extensions link : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-12-opengl-extensions/ 12번째 튜토리얼 시작! Extensions 새로운 세대마다 GPU의 성능이 향상되어 더 많은 삼각형과 더 많은 픽셀을 렌더링 할 수 있습니다. 하지만, 원시 성능만이 유일한 관심사는 아니다. NVIDIA, AMD 및 Intel은 더 많은 기능을 제공함으로써 그래픽 카드를 향상시킵니다. 몇 가지 예를 살펴보겠다. ARB_fragment_program 2002년에는 GPU에 정점 셰이더나 조각 셰이더가 없고, 모든 것이 칩 내부에 하드 코드되었습니다. 이를 Fixed-Function Pipeline (FFP)라고 한다. 따라서 OpenGL..