-
Texture그래픽스 2021. 12. 1. 12:30
Texture Mapping 벽지를 벽에 붙이는 것이라고 생각하면 된다. Parameterization 여러가지 방식 Texture Mapping 텍스처 정의 텍스처에서 표면으로 매핑 지정 스캔 변환 중 텍스처 값 조회 scan 변환시, 어디로 부터 map을 하는 것인가? 이미지 좌표계(x, y)에서 모델링 좌표계(u, v)에서 텍스처 이미지(s, t) 통해서 값을 읽어온다. 텍스처 매핑은 2D 투영 변환입니다. 텍스처 좌표계(s, t) -> 이미지 좌표계(x, y) Scan conversion 스캔 라인을 가로질러/아래로 텍스처 좌표 보간 이중선 보간을 이용해서 근사값을 구한다. 폴리곤을 더 작은 폴리곤으로 자른다. 각 픽셀의 원근감 분할 원근 보정 보건 위 방법대로 하면, 왼쪽처럼 나온다. 하지만, ..
-
Shading그래픽스 2021. 11. 29. 17:09
Scan conversion 픽셀을 색상을 칠하기 위한 단계이다. 예를 들어) Vertex의 점 3개의 이은 삼각형의 내부를 채우는 것이다. 좋은 알고리즘의 특징 등가 직선 모서리야 한다. 계단현상이 적은 것 인접한 프리미티브 사이에 균열 없음 빨리 그려져야 한다. 겉과 속을 구분하는 법 ax + by + c -> 직선 On line: ax + by + cz = 0 -> 선위에 있다. On right: ax + by + cz 선 외부에 있다. On left: ax + by + cz > 0 -> 선 내부에 있다 다각형의 모든 선을 이런 방법을 이용해서 계산하면, 삼각형 꼭짓점은 시계 반대 방향으로 정렬됩니다. (CCW) Triangle Sweep-Line Algorithm(삼각형을 스캔하는 알..
-
illumination 조명그래픽스 2021. 11. 17. 12:46
Ray Casting (광선 던지기) 1) 광선을 쏜다 2) 물체와 광선이 만난다 3) 물체와 광선이 만나서, 조명계산을 한다. Direct illumination, Global illuimination 이 두개가 있다. Direct가 가장 많이 사용한다. Modeling Light Sources 발산 에너지를 양을 알 수 있다. 광원에서 시작한다. 광원이 부딧치는 위치 (x, y, z), 관원까지의 거리(θ,Φ) 파장 λ(색깔을 알 수 있다.) 한계 빛을 모든 방향으로 발산하는 것은 어렵다. 왜냐하면, 용량이 너무많이 들고 표현하기가 어렵다. OpenGL Light Source Models 한계로 근사치를 이용한다. Point light : 모든 방향으로 빛이 발산하는 것 Directional ligh..
-
Rendering Pipeline그래픽스 2021. 11. 15. 14:25
3D Polygon Rendering 3D Polygon을 랜더링을 하기 위해서, 화살표를 따라서, 쭉 읽어서 읽히는 쪽을 2D로 보야준다. 3D -> 2D로 바꾼것이다. 3D Rendering Pipeline Transformation은 하나의 좌표계(coordinate system)가 다른 한 point로 이동하는 것이다. 이중에서 Viewing Transformation과 Projection Transformation을 합쳐서, Viewing Transofrmations이라고 한다. 이 부분이 중요하다. Viewing Transformation 카메라 좌표가 실세계로 mapping되는 것이다. 눈 -> origin Right vecter -> X Up -> Y Back -> Z Camera Coor..
-
3D Object - Curve & Surface그래픽스 2021. 11. 8. 13:43
2d 선, 3d 면으로 얘기 할 수 있다. 곡선과 곡면 Curve의 3가지 형태 양함수식 y = f(x) = mx + b 하나의 값만이 가지고 있다. 하지만, 여러가지의 값을 표현할 수 는 없다. 특성 유지가 안된다. 무한의 기울기는 표현하기 어렵다 음함수식 Ax + By + C = 0 반원은 표현할 수 없다. 두개의 커브를 연결하기가 어렵다. 이 두가지 방식의 문제점을 해결하기 위해 매계변수식을 사용한다. 매계변수식 x = x(t), y = y(t), z = z(t) 양함수, 음함수 식의 문제를 해결했다. 기울기를 tan 벡타를 사용한다. 무한한 기울기를 표현할 수 없다. 근사치를 구한다. Curves의 3가지 타입 Hermite 두 끝점과 끝점은 tangent vector로 되어있다. 점의 기울기가 ..
-
3D Object그래픽스 2021. 11. 1. 13:04
Modeling 표현, 획득, 조작, 분석 다양한 객체 표현을 위한 다양한 방법이 있다. 다양한 것인가? 획득 렌더링 조작 애니메이션 분석 3D 객체 표현의 선택은 알고리즘에 큰 영향을 미칠 수 있다. 데이터 구조가 알고리즘을 결정한다. Point Cloud 무수히 많은 3D점들을 찍은 것이다. Range Image 이미지의 깊이를 픽셀에 메핑해서, 3D포인트를 놓는다. Point Sample Rendering 일반적인 순서이다. 색상, 깊이 및 정상 정보를 포함하는 밀도 높은 표면 점 샘플 세트로 구성된 객체 표현 Polygon Soup 구조화되지 않은 폴리곤 집합 많은 폴리곤 모델은 폴리곤의 목록일 뿐입니다. 각 삼각형에 대해 세 개의 좌표만 저장합니다. 연결에 대한 정보 없음 장점 : 아주 간단하다..
-
3D 렌더링그래픽스 2021. 10. 25. 21:52
rendering 3D 표현 과정 3차원 환경 표현 3차원 보는 사람 표현 보이는 물체 결정 조명 시물레이션 Intensity (빛의세기) 3D Scene 표현 점 선 다각형 다면체 곡면 내부가 꽉 찬 모델 3D 점 간단하다 위치 값을 알 수 있다. 3D 벡터 방향 과 크기를 가지고 있다. 위치값을 알 수 가 없다. 내적 Scalar Procduct Innter product (Scalar Procduct) 내적을 구할 수 있습니다. cos 법칙을 이용해서 각도를 알 수 있다. 내적의 특징 내적을 이용해서 다른 벡터를 알 수 있다. 내적의 값으로 내적의 각도를 알 수 있다. 외적 Cross(=Vector) product 외적은 두 벡터의 수직인 벡터를 알 수 있다. v1과 v2의 순서를 바꾸면 안된다. ..
-
Modeling Transformation그래픽스 2021. 10. 20. 13:09
오브젝트를 변환 물체들은 자신만의 좌표계를 가지고 있다. 한 씬에 여러개의 물체를 사용할 수 있다. Basic 2D 변환 Translation 좌표이동 x’ = x + tx y’ = y + ty Scale 크기변환 x’ = x * sx y’ = y * sy Shear 찌그리기 x’ = x + hx * y y’ = y + hy * x Rotation 회전 x’ = x * cosθ - y * sinθ y’ = x * sinθ + y * cosθ 행렬 표현 2 x 2 행렬 표현 2D 2D의 스케일 값(0,0을 기준) 2D의 회전값(0,0을 기준) 2D의 Shear 값 2D Mirror Y축 반전 2D Mirror (0,0) 반전 2D 이동 없다. 왜냐하면 2x2에서 이동은 표현이 안되고, 덧셈 밖에 표현이 안..