목록CG (8)
JUST DO IT PROJECT
2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 01.기본개념 2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 02. Rasterization 2020/04/07 - [CSE] - [CG]컴퓨터 그래픽스 03. 기하 변환 Geometric Transformation 첫번째 포스팅에서 그래픽스 파이프라인은 대부분 좌표계 변환으로 이루어진다는 말씀을 드렸습니다. 이번 포스팅에서는 2차원, 3차원 공간에서의 좌표변환을 알아보겠습니다. 좌표 변환은 수학적으로 보았을 때 행렬연산으로 계산할 수 있습니다. 4. 2D 기하변환, 2D Geometric Transformations 기본 변환 2차원의 좌표는 보통 먼저 간단한 2차원 변환을 몇가지 알려드리자면 이동변환(= 평행이동) Transl..
2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 01.기본개념 2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 02. Rasterization 2020/04/07 - [CSE] - [CG]컴퓨터 그래픽스 03. 기하 변환 Geometric Transformation 3. 선 그리기. 다각형 채우기 Line Drawing, Polygon Filling 앞서 살펴본 그래픽스 파이프라인에서, 최종 프로젝션을 한 후, 디스플레이에서 픽셀화 하는 과정을 래스터화Rasterization이라고 설명드린 바 있습니다. 즉, 모델의 좌표데이터를 받아서 픽셀의 색상값을 결정하는 것입니다. 각 픽셀의 색상값은 2D 배열로 이루어진 프레임 버퍼에 저장하였다가 화면에 송출하는데, 연속적인 좌표데이터를 ..
2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 01.기본개념 2020/04/06 - [CSE] - [CG] 컴퓨터그래픽스 02. Rasterization 2020/04/07 - [CSE] - [CG]컴퓨터 그래픽스 03. 기하 변환 Geometric Transformation 1. 컴퓨터그래픽스란 컴퓨터 그래픽스란, 추상적인 표현을 시각화해 이미지를 만들어내는 것을 의미하는 것으로 크게 세가지로 분류할 수 있습니다. 모델링: 수학적(기하학적) 방식으로 물체를 정의하는 것. 실제 존재하는 것들을 3D 스캔하여 쓰거나, 기하학적 모델로 만들어 사용. 렌더링: 물리적(광학적) 방식으로 물체를 시각화하는 것. 빛과 모델 속성, 사용자의 눈 위치 정보를 기반으로 모델의 음영, 색깔을 결정하는 과정...
What is CCD? 이 논문을 이해하기 위해서는 먼저 Continuous Collision Detection (이하 CCD)가 무엇인지 알 필요가 있습니다. (http://www.stencyl.com/help/view/continuous-collision-detection/) 애니메이션, 시뮬레이션에서 사용되는 물리 엔진에서는 한 타임스텝마다 물체간의 충돌 검사를 합니다. 만약 어떤 시점에 두 물체가 충돌하면 아래와 같이 밀어내버립니다. 이때 물체간의 충돌이 있는지 여부를 알아내는 것을 충돌 감지(Collision Detection)이라고 하고, 두 물체가 겹치지 않게 떼어내주는 것을 충돌처리(Collision Response)라고 합니다. 그런데 물체가 너무 빨리 지나가면 아래 그림과 같이 종종 물..
Abstract 모델링 태스크( surface deformation and editing)는 surface의 local한 변형을 관찰하면 분석할 수가 있다. Local transformation의 rigidity를 요구하는 operation이 굉장히 유용하다. 그런 formulation은 non-linear하지만 개념적으로 간단한 에너지 formulation으로 이어진다. 그 E formulation을 최소화 해서 특정 모델링 제약조건 하에서 surface를 deform한다. 얘네는 간단한 iterative mesh editing scheme을 제안한다. 얘네가 제안하는 방법은 detail-preserving 하고, 직관적인 deformation을 할 수 있다. 얘네의 알고리즘은 효과적이고, implem..
0. Freeglut이란?OpenGL Utility Toolkit(GLUT) 라이브러리 대신 쓸 수 있는 오픈소스입니다. 윈도우 환경에서 윈도우창을 만들거나, OpenGL context를 초기화하는 등 I/O이벤트 컨트롤을 도와주는 라이브러리입니다. OpenGL 프로그램을 쉽게 만들 수 있게 해주죠.기존의 GLUT은 1998년 이후로 업데이트가 없기도 하고, 라이센스 문제가 있기도 합니다. 이에 기존 GLUT을 발전시켜 새롭게 만들어진 라이브러리가 FreeGLUT입니다. 1. 다운로드번거로운 과정 없이 진행하기 위해 패키지를 다운받도록 하겠습니다. 아래 URL에서 freeglut 3.0.0 MSVC Package를 다운받습니다.http://www.transmissionzero.co.uk/software/..
0. GLM이란?OpenGL Mathematics(GLM)은 OpenGL Shading Language(GLSL)을 기반으로 하는 그래픽스 소프트웨어에서 사용할 수 있는 C++수학 라이브러리입니다. 이 라이브러리가 제공하는 클래스와 함수들은 GLSL의 naming convention과 기능들이 유사하기 때문에 GLSL을 아는 사람이라면 C++을 이용하여 GLM도 쉽게 사용할 수 있습니다. What GLM Provides...- matrix transformations,- quaternions,- data packing,- random numbers,- noise...etc. 1. GLM 다운로드하기http://glm.g-truc.net/0.9.8/index.html에서 다운로드를 클릭하면 아래 웹페이지에..
0. GLEW란?GLEW는 The OpenGL Extension Wrangler Library의 준말로, 크로스 플랫폼 오픈소스 C/C++ 확장 라이브러리입니다. GLEW는 OpenGL의 새로운 기능을 제공하는 하나의 헤더파일입니다. OpenGL에서 기본적으로 제공하지 않는 기능들을 제공하기 때문에 모든 컴퓨터에서 잘 작동한다는 보장은 없지만 상당히 유용한 기능들을 제공합니다. 웹페이지의 설명에 따르면 GLEW는 Windows, Linux, Mac OS X, FreeBSD, Irix 및 Solaris 등 다양한 운영체제에서 테스트되었다고 합니다.- 왜 사용하는가?OpenGL은 하나의 라이브러리가 아니기 때문에 프로젝트에 간단하게 연결할수가 없습니다. 그래서 GLEW 같은 라이브러리의 도움을 받습니다. g..