꾸준히 개발하자

고정 헤더 영역

글 제목

메뉴 레이어

꾸준히 개발하자

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (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)

검색 레이어

꾸준히 개발하자

검색 영역

컨텐츠 검색

Computer Graphics/Graphics Pipeline

  • Pixel Processing - Merging

    2024.11.30 by Banjosh

  • Pixel Processing - Fragment Shading

    2024.11.30 by Banjosh

  • 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

Pixel Processing - Merging

Pixel Processing의 마지막 단계: Merging이번에는 Pixel Processing의 마지막 단계이자 Graphics Pipeline의 최종 단계인 Merging에 대해 알아보자.Merging 단계는 픽셀별 프래그먼트 값을 테스트와 블렌딩 과정을 거쳐 최종적으로 프레임 버퍼(Frame Buffer)에 기록하는 작업을 수행한다.이 단계는 Test 단계와 Blend 단계로 나뉘며, 테스트가 먼저 수행된 뒤 블렌딩이 진행된다.Merging 단계의 구성Test 단계Test 단계는 Fragment Shading 단계에서 생성된 프래그먼트들 중 특정 조건을 통과하지 못하는 프래그먼트를 삭제하는 역할을 한다.보통 아래의 순서대로 테스트가 진행된다 1. 스크리닝 테스트 (Scissor Test)Sciss..

Computer Graphics/Graphics Pipeline 2024. 11. 30. 15:16

Pixel Processing - Fragment Shading

Pixel Processing의 첫 번째 단계: Fragment Shading이번에는 Pixel Processing 단계의 첫 번째 단계인 Fragment Shading에 대해 알아보자.Fragment Shading은 Rasterization 단계에서 생성된 프래그먼트들의 최종 색상 및 속성을 계산하는 단계이다.이 단계에서는 조명, 텍스처 매핑 등 다양한 계산이 이루어진다.Fragment Shading의 역할Fragment Shading은 각 프래그먼트의 최종 속성을 결정하는 과정으로, 우리가 보통 작성하는 Fragment Shader를 통해 구현된다.조명, 텍스처, 반사, 굴절 효과 등 다양한 계산을 수행하며, 이를 통해 다양한 그래픽 효과를 만들어낼 수 있다.아래는 Fragment Shader에서 구..

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

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

추가 정보

인기글

최신글

페이징

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

티스토리툴바