일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- window programming
- 윈도우프로그래밍
- win32
- denoising
- 운영체제
- Win32 API
- 윈도우
- Mesh Processing
- bezier curve
- 그래픽스
- c4d
- Graphics
- shader programming
- 셰이더프로그래밍
- 핵심 API로 배우는 윈도우프로그래밍
- MFC 윈도우 프로그래밍
- 셰이더
- 윈도우 구조
- 컴퓨터 아키텍쳐
- shader
- modeling
- 그래픽스기초
- OpenGL
- 오픈지엘
- 컴퓨터 구조
- 렌더링
- MFC
- Geometry Modeling
- 베지에 곡선
- 윈도우 프로그래밍
- Today
- Total
목록컴퓨터 그래픽스/OpenGL (13)
오다기리 박의 알고리즘 노트
Chapter 13. 고급 렌더링Section 01. 그림자(Shadow)그림자란? 지면 그림자 셰도우 맵 셰도우 맵 알고리즘 : 영상공간 알고리즘으로, 화면 화소 단위로 그림자 위치를 계산한다.섀도우 Z버퍼 / 섀도우 맵 : 광원 기준 Z버퍼알고리즘if(Zmap + Bias) < Zpixel 픽셀은 그림자 안에 들어감 else 픽셀은 그림자 밖에 있음Zmap : 섀도우 맵에 저장된 거리Zpixel : 화소와 광원간의 거리단점 : Spotlight에만 적용할 수 있다.그림자 부피 (Shadow Volume) Z - pass 알고리즘 Section 02. 레이트레이싱연산광선이 화면 안의 물체와 만나는지 일일히 다 검사해보는 과정에서 시간이 많이 소요됨Bounding Volume 기법으로 가속화 가능 Sec..
Chapter 12. 프래그먼트 연산Section 01. GL 파이프라인 Section 02. GL의 버퍼버퍼 활성화void glutInitDisplayMode(int modes);mode활성화 버퍼GLUT_SINGLEFront 버퍼GLUT_DOUBLEFront 버퍼 + Back 버퍼GLUT_DEPTHZ 버퍼GLUT_ACCUMA 버퍼GLUT_STENCILStencil 버퍼버퍼 초기화 값 정의glClearColor( ) : 프레임 버퍼(Front 버퍼, Back 버퍼, Auxiliary 버퍼)의 초기화 값 정의glClearIndex( ) : Color Index 버퍼의 초기화 값 정의glClearDepth( ) : Z 버퍼의 초기화 값 정의glClearStencil( ) : Stencil 버퍼의 초기화 값..
Chapter 11. 텍스쳐 (Texture)Section 01. 텍스쳐 맵 Light mappingTexture mappingEnvironment mappingBump mapping Section 02. 텍스쳐 매핑 기법텍스쳐 매핑 : (s, t) 좌표로 표현된 텍스쳐 영상을 (x, y, z) 좌표로 표현된 물체면으로 프로젝션하는 것 평면 다각형의 경우수작업 물체 다각형 정점을 대상으로 해당 정점의 텍스쳐 좌표 (s, t)값을 할당한다. 무게중심 좌표(Barycentric Coordinates)이용 를 이용하여 V의 무게중심 좌표 를 구하고 를 이용하여 텍스쳐 도메인의 V’ 를 구한다. 에일리어싱언더샘플링으로 인한 에일리어싱 Projection 이후에 텍스쳐 가함으로 인한 에일리어싱 곡면의 경우 왜곡을..
Chapter 10. 조명과 음영(Lighting and Shading)Section 01. 조명 (Lighting)조명과 음영 렌더링 = 조명(Lighting) + 음영(Shading)Lighting : 광원과 물체 특성을 감안하여 정점에서의 빛 세기를 계산하는 작업Shading : 이렇게 결정된 정점 색을 기준으로 해당 물체면 내부 곳곳마다 색을 부여하는 작업전역 조명모델과 지역 조명모델전역 조명모델 (Global Lighting Model) : 장면 내의 물체 상호간의 반사까지 고려한 모델지역 조명모델 (Local Lighting Model) : 광원으로부터 직접 물체에 부딪쳐 우리 눈에 들어오는 빛만 고려한 모델 Section 02. 지역 조명모델(Local Lighting Model)주변광 (A..
Chapter 09. 래스터변환(Rasterization)Section 01. 래스터변환정점, 선분, 다각형 내부를 표현하기 위해 어떤 화소를 선택해야 하는지를 결정하는 작업 Section 02. 선분 래스터변환선분의 기울기 > 1 : y 좌표를 1씩 증가시키면서 래스터변환선분의 기울기 < 1 : x 좌표를 1씩 증가시키면서 래스터변환 교차점 계산DDA(Digital Differential Analyzer) 알고리즘 다음 교차점의 y좌표 = 이전 교차점의 y좌표 + 기울기브레스넘(Bresenham) 알고리즘 / 중점 알고리즘장점 : 연산속도화소 좌표주소할당 방식 Section 03. 다각형 래스터변환그래픽 수식 표현Explicit Formsy = 2x +4 Impicit Formsf(x,y) = y - ..
Chapter 08. 가시성 판단 (Visibility Detection)(후면제거 - 절단 - 은면제거) Section 01. 벡터…Section 02. 후면제거 (Backface Culling)후면제거 (Backface Culling)후면을 판단하고 제거하는 과정void glEnable(GL_CULL_FACE); void glCullFace(GLenum mode); void glDisable(GL_CULL_FACE); Front face, Back facevoid glFrontFace(GLenum mode) : Front face, Back face를 설정void glPolygonMode(GLenum face, GLenum mode) : Front face, Back face를 그리는 방식을 구분할 ..
Chapter 07. 투상변환과 뷰포트변환Section 01. 투상 (Projection)투상(Projection), 가시변환(Viewing Transformation) : 모델좌표계-전역좌표계-시점좌표계를 순차적으로 거친 다각형 정점 좌표를 2차원 투상면(View Plane, Projection Plane)으로 사상시키는 과정.정사투상(Orthographic Projection)…원근투상 (Perspective Projection) Section 02. GL의 투상변환 (Projection Transformation)void glGetFloatv(GLenum pname, GLfloat *params); -> 현 투상행렬 값을 검색하여 params 배열로 저장GL 파이프라인설계된 물체 또는 그래픽 라이브..
Chapter 06. 모델변환과 시점변환Section 01. 좌표계3차원 물체의 표현메쉬 표현…벡터 공간주어진 벡터로부터 파생되는 모든 벡터의 집합어파인 공간점을 마치 벡터의 동족처럼 취급함으로써 벡터공간을 확장한 것좌표축 / 좌표계기저 벡터끼리는 선형 독립이여야 한다.차원 : 점의 위치를 표현하기 위한 기저 벡터의 수좌표 : 각각의 기저 벡터에 곱해지는 계수좌표계 : 원점과 기저벡터로 구성되는 프레임동차 좌표 Section 02. 기하변환기하변환물체의 이동, 회전, 크기조절 작업TranslationRotaion하나의 객체를 x, y, z축 주위로 각각 ∮라디안만큼 회전시킨다.Scaling균등, 차등이 존재쉬어 변환점 p가 로 이동복합변환효율을 높이기 위함Reflection특정 좌표 부호를 반대로 한다구..