꾸준히 개발하자

고정 헤더 영역

글 제목

메뉴 레이어

꾸준히 개발하자

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (115)
    • Computer Graphics (58)
      • SCOP (9)
      • HumanGL (9)
      • Graphics Pipeline (10)
      • ALEngine (21)
      • Hiking (9)
    • 자료구조와 알고리즘 (43)
      • 백준 (14)
      • 자료구조, 알고리즘 (29)
    • Java 공부 (5)
      • Java 공부 (1)
      • Java 주차별 공부 (3)
      • 더 자바, 코드를 테스트하는 다양한 방법 (1)
    • 리눅스 (8)
      • 리눅스 기초 (8)

검색 레이어

꾸준히 개발하자

검색 영역

컨텐츠 검색

전체 글

  • Rasterization - Triangle Traversal

    2024.11.29 by Banjosh

  • Rasterization - Triangle Setup

    2024.11.29 by Banjosh

  • Geometry Processing - Screen Mapping

    2024.11.29 by Banjosh

  • Geometry Processing - Clipping

    2024.11.29 by Banjosh

  • Geometry Processing - Geometry Shading

    2024.11.29 by Banjosh

  • Geometry Processing - Tesselation

    2024.11.29 by Banjosh

  • Geometry Processing - Vertex Shading

    2024.11.29 by Banjosh

  • Graphics Pipeline 개요

    2024.11.29 by Banjosh

Rasterization - Triangle Traversal

Rasterization의 두 번째이자 마지막 단계: Triangle Traversal이번에는 Rasterization의 두 번째이자 마지막 단계인 Triangle Traversal에 대해 알아보자.이 단계는 Triangle Setup 단계에서 준비한 정보를 바탕으로 픽셀에 프래그먼트를 생성하는 역할을 한다.Triangle Traversal이 하는 일Triangle Traversal 단계에서는 프리미티브(삼각형)를 순회하며 다음 작업을 반복한다:1. 프리미티브에 속하는 픽셀 찾기픽셀 범위 순회Triangle Setup 단계에서 정한 픽셀 범위 내에서 픽셀을 순회하며, 해당 픽셀이 삼각형에 포함되는지 판단한다.삼각형 포함 여부는 보통 바리센트릭 좌표를 사용하여 확인한다.바리센트릭 좌표를 이용한 포함 여부 ..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 17:04

Rasterization - Triangle Setup

Rasterization의 첫 번째 단계: Triangle Setup이번에는 Rasterization의 첫 번째 단계인 Triangle Setup에 대해 알아보자.Triangle Setup은 다음 단계인 Triangle Traversal을 준비하는 과정으로, 프리미티브를 순회하며 필요한 정보를 계산하고 준비하는 역할을 한다.Triangle Setup이 하는 일1. 정점을 NDC 좌표에서 Viewport 좌표로 변환NDC 좌표를 실제 Viewport의 픽셀 좌표로 변환한다.이 과정에서 삼각형 정점의 위치가 화면 좌표(Screen Coordinates)로 매핑된다.2. 삼각형의 면 방향 결정삼각형이 앞면(Front-facing)인지 뒷면(Back-facing)인지 결정한다.프리미티브 정점의 순서가 시계 방향..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 16:35

Geometry Processing - Screen Mapping

Geometry Processing의 마지막 단계: Screen Mapping이번에는 Geometry Processing의 마지막 단계인 Screen Mapping에 대해 알아보자.Screen Mapping은 Clipping 단계를 통해 선별된 정점들을 Clipping 좌표(Clip Space)에서 NDC 좌표(Normalized Device Coordinates)로 변환하는 과정이다.NDC 좌표란?NDC는 Normalized Device Coordinates의 약자로, 정규화된 좌표를 의미한다.이 좌표계는 x, y, z 값이 각각 정해진 범위로 제한되어 있으며, 이후 화면 공간(Screen Space)으로 매핑하기 위한 기준이 된다.Screen Mapping의 작업z 값z 값은 투영 변환(Project..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 15:49

Geometry Processing - Clipping

Geometry Processing의 네 번째 단계: Clipping이번에는 Geometry Processing의 네 번째 단계인 Clipping에 대해 알아보자.Clipping은 clip 좌표계에서 카메라 시야 밖에 있는 기하학적 객체를 제거하거나, 화면에 보이지 않는 부분을 제외하는 과정이다.이 단계에서 정점의 x, y, z 값이 특정 영역에 포함되어 있는지를 확인하고, 영역 밖의 정점이나 프리미티브를 처리한다. 이 과정은 GPU가 자동으로 처리하며, 프로그래머는 간접적으로만 관여할 수 있다.Clipping 기준x, y 좌표Viewport의 FOV(Field of View)에 따라 x, y 좌표의 클리핑 범위가 설정된다.FOV에 따라 카메라 시야의 폭과 높이가 결정되므로, 해당 영역에 포함되지 않은 ..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 15:24

Geometry Processing - Geometry Shading

Geometry Processing의 세 번째 단계: Geometry Shading이번에는 Geometry Processing의 세 번째 단계인 Geometry Shading에 대해 알아보자. Geometry Shading은 입력으로 받은 프리미티브(Primitive)를 변형, 삭제하거나 새로운 프리미티브를 추가하는 과정을 수행한다.왜 Geometry Shading이 필요한가?Geometry Shading은 기존에 생성된 프리미티브를 바탕으로 실시간으로 메쉬 디테일을 추가하거나, 오브젝트의 실루엣, 그림자, 입체감을 표현할 수 있게 해준다. 또한 다양한 기하학적 효과를 추가할 수 있어 더 풍부한 표현이 가능하다.Geometry Shading의 쓰임새1. 프리미티브 변형 및 생성새로운 프리미티브 생성입력으..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 14:42

Geometry Processing - Tesselation

Geometry Processing의 두 번째 단계: Tessellation이번에는 Geometry Processing의 두 번째 단계인 Tessellation에 대해 알아보자. Tessellation은 기본 도형인 프리미티브(Primitive)를 더 세분화하는 과정이다. 이 과정은 Tessellation Shader를 통해 프로그래머가 직접 작업할 수 있으며, LOD(Level of Detail)을 활용해 더 효율적인 렌더링을 구현할 수 있다.왜 Tessellation이 필요한가?렌더링을 진행하다 보면 굴곡진 부분이나 화면에 가까운 물체의 해상도를 높이고 싶을 때가 있다. 그러나 모든 물체의 해상도를 높이는 것은 성능 비용이 너무 크기 때문에 적합하지 않다. 이런 경우, 원하는 부분에만 프리미티브를 세..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 14:07

Geometry Processing - Vertex Shading

Geometry Processing의 첫 단계: Vertex Shading이번에는 Geometry Processing의 첫 번째 단계인 Vertex Shading에 대해 알아보자. Vertex Shading은 Application 단계에서 준비된 Local 좌표계의 Object 정점 정보를 Clip 좌표계로 변환하는 역할을 한다. 보통 vertex shader를 통해 이 단계를 구현한다.변환 행렬Vertex Shading 과정에서 보통 Model-View-Projection (MVP) Matrix 변환을 적용하며, 각 행렬의 역할은 다음과 같다:Model MatrixLocal 좌표계 정보를 World 좌표계로 변환해준다.물체의 이동(Translate), 회전(Rotate), 크기(Scale) 변환을 반영..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 13:44

Graphics Pipeline 개요

Graphics Pipeline이란?Graphics Pipeline은 쉽게 말해, 우리가 OpenGL로 렌더링을 진행하는 과정을 단계별로 정리해놓은 것이다. 사실 지금까지 OpenGL을 사용한 프로젝트들도 이 과정을 거쳐 렌더링이 되었지만, OpenGL은 Graphics Pipeline에 대해 몰라도 렌더링이 가능하게끔 만들어주는 고수준 API다 보니 이를 깊이 있게 이해하지 않고 작업했던 경우가 많다.하지만 다음 프로젝트부터는 Vulkan이라는 더 저수준의 API를 이용해 렌더링을 진행할 예정이기 때문에, 이번 기회에 Graphics Pipeline에 대해 제대로 공부해 보기로 했다.Graphics Pipeline의 큰 흐름Graphics Pipeline은 크게 4단계로 나눌 수 있다:Applicati..

Computer Graphics/Graphics Pipeline 2024. 11. 29. 12:46

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 7 8 ··· 15
다음
TISTORY
꾸준히 개발하자 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바