Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

레이 트레이싱 그래픽: 컴퓨터 비전의 사실적 렌더링 살펴보기
레이 트레이싱 그래픽: 컴퓨터 비전의 사실적 렌더링 살펴보기
레이 트레이싱 그래픽: 컴퓨터 비전의 사실적 렌더링 살펴보기
Ebook125 pages1 hour

레이 트레이싱 그래픽: 컴퓨터 비전의 사실적 렌더링 살펴보기

Rating: 0 out of 5 stars

()

Read preview

About this ebook

레이 트레이싱 그래픽이란 무엇입니까


3D 컴퓨터 그래픽에서 레이 트레이싱은 디지털 이미지 생성을 위한 다양한 렌더링 알고리즘에 사용하기 위해 빛 전달을 모델링하는 기술입니다.


혜택


(I) 다음 주제에 대한 통찰력 및 검증:


1장: 광선 추적( 그래픽)


2장: 렌더링(컴퓨터 그래픽)


3장: 전역 조명


4장: 라디오시티(컴퓨터 그래픽)


5장: 광자 매핑


6장: 광선 캐스팅


7장: 정반사


8장: 기하 광학


9: 그래픽 파이프라인


10장: 렌더링 방정식


(II) 레이 트레이싱 그래픽에 대한 대중의 주요 질문에 답합니다.


(III) 실제 사례 다양한 분야에서 레이 트레이싱 그래픽의 활용에 대해 설명합니다.


책은 누구를 위한 책인가요?


전문가, 학부생 및 대학원생, 열성 팬, 취미생활자, 모든 종류의 레이 트레이싱 그래픽에 대한 기본 지식이나 정보를 넘어서고 싶습니다.


 

Language한국어
Release dateMay 14, 2024
레이 트레이싱 그래픽: 컴퓨터 비전의 사실적 렌더링 살펴보기

Read more from Fouad Sabry

Related to 레이 트레이싱 그래픽

Titles in the series (100)

View More

Related ebooks

Reviews for 레이 트레이싱 그래픽

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    레이 트레이싱 그래픽 - Fouad Sabry

    1 장 : 레이 트레이싱(그래픽)

    3D 컴퓨터 그래픽스에서 레이 트레이싱은 디지털 이미지를 생성하기 위한 광범위한 렌더링 기술에 적용될 수 있는 광 전송을 시뮬레이션하는 기술입니다.

    광선 투사, 재귀 광선 추적, 분산 광선 추적, 광자 매핑 및 경로 추적과 같은 광선 추적 기반 렌더링 기술은 스캔라인 렌더링 방법보다 느리고 정확한 경우가 많습니다.

    2019년부터 리얼타임 레이 트레이싱을 위한 하드웨어 가속이 새로운 상용 그래픽 카드의 표준이 되었으며, 그래픽 API도 그 뒤를 따랐으며, 이를 통해 개발자는 프레임 렌더링 시간에 미치는 영향을 줄이면서 게임 및 기타 실시간 애플리케이션에서 하이브리드 레이 트레이싱과 래스터화 기반 렌더링을 사용할 수 있습니다.

    레이 트레이싱은 다양한 광학 현상을 복제할 수 있습니다. 실제로 레이 트레이싱은 거의 직선 운동으로 물리적 파동 또는 입자 현상을 모방할 수 있습니다.

    도메인에서 빛을 샘플링하는 광선 추적 기반 렌더링 접근 방식은 매우 많은 수의 광선을 추적하거나 노이즈 제거 알고리즘을 사용하여 완화할 수 있는 이미지 노이즈 아티팩트를 유발합니다.

    레이 트레이싱의 아이디어는 16세기 초에 알브레히트 뒤러(Albrecht Dürer)가 레이 트레이싱을 개발한 것으로 알려져 있습니다.

    Dürer는 3D 장면을 이미지 평면에 투사하는 여러 가지 기법을 설명했습니다.

    이들 중 일부는 현재 래스터화로 수행되는 것처럼 이미지 위치에 특정 형상을 투영합니다.

    다른 것들은 광선 추적과 유사하게 특정 빔을 따라 시각적 형상을 정의합니다.

    Appel은 레이 트레이싱을 사용하여 주 가시성을 결정한 다음(각 이미지 포인트에서 카메라에 가장 가까운 표면 결정) 어두운 각 포인트에서 광원까지의 보조 레이를 추적하여 포인트가 그림자에 있는지 여부를 평가했습니다.

    그 후 1971년에 MAGI의 Goldstein and Nagel(Mathematical Applications Group, Inc.)

    1976년에는 스콧 로스(Scott Roth)가 밥 스프룰(Bob Sproull)의 칼텍(Caltech) 컴퓨터 그래픽 수업에서 플립북 애니메이션을 제작하면서 레이 캐스팅의 또 다른 초기 사례를 보았습니다.

    스캔한 페이지는 오른쪽에 비디오로 표시됩니다.

    Roth의 컴퓨터 소프트웨어는 광선이 이웃과 다른 경계 평면과 교차하는 경우 픽셀 위치에 가장자리 점을 기록했습니다.

    물론 광선은 우주의 수많은 평면을 가로지를 수 있지만 카메라에 가장 가까운 표면 지점만 볼 수 있습니다.

    시분할 DEC PDP-10의 계산 기능이 대략적인 해상도만 허용했기 때문에 가장자리가 들쭉날쭉합니다.

    터미널은 텍스트와 그래픽을 위한 텍트로닉스 스토리지 튜브 디스플레이였습니다.

    디스플레이에는 롤의 감열지에 디스플레이 이미지를 인쇄하는 프린터가 부착되어 있었습니다.

    Roth는 구조를 확장하여 컴퓨터 그래픽과 솔리드 모델링의 맥락에서 레이 캐스팅을 제시했으며 나중에 GM Research Labs에서 일하면서 자신의 작업을 발표했습니다.

    1979년, Bell Labs에서 엔지니어로 근무.

    Whitted의 심층적인 재귀 레이 트레이싱 기술은 렌더링을 표면 가시성 결정이 아닌 빛 전달의 함수로 재구성했습니다.

    그의 출판물은 분산 레이 트레이싱 및 편향되지 않은 경로 추적을 포함한 일련의 미래 연구를 자극했으며, 컴퓨터 생성 그래픽을 사실적으로 만드는 렌더링 방정식 프레임워크를 제공합니다.

    수십 년 전, 컴퓨터 생성 이미지를 활용하여 영화에서 전역 조명을 시뮬레이션하기 위해 추가 조명이 사용되었습니다. 결국 레이 트레이싱 기반 렌더링은 물리 기반 광 전송을 가능하게 하여 이를 수정했습니다. 몬스터 하우스(2006)와 클라우디 위드 어 찬스 오브 미트볼(2009)은 패스 트레이싱(2009)을 사용하여 완전히 렌더링된 초기 장편 영화의 예이며, 광학 레이 트레이싱은 레이 캐스팅이나 스캔라인 렌더링보다 3D 컴퓨터 그래픽 환경에서 더 사실적인 비주얼을 생성하는 기술입니다. 가상의 눈에서 가상 화면의 각 픽셀을 통과하는 경로를 따라가고 이를 통해 보이는 사물의 색상을 계산하여 작동합니다.

    레이 트레이싱의 장면은 프로그래머 또는 아티스트(일반적으로 중간 도구 사용)에 의해 수학적으로 설명됩니다. 장면에는 수집된 사진 및 모델(예: 디지털 사진)의 데이터도 포함될 수 있습니다.

    각 광선은 일반적으로 장면 오브젝트의 하위 집합과 교차하는지 확인해야 합니다. 가장 가까운 항목이 발견되면 알고리즘은 교차점에서 들어오는 빛을 추정하고 물체의 재료 품질을 확인한 다음 이 정보를 통합하여 픽셀의 최종 색상을 결정합니다. 특정 조명 알고리즘과 반사 또는 반투명 재질은 장면에 추가 광선을 다시 캐스팅해야 할 수 있습니다.

    광선을 카메라로 보내는 것(실제로 빛이 하는 것처럼)이 아닌 카메라에서 멀리 보내는 것이 훨씬 더 효율적입니다. 특정 광원에서 나오는 대부분의 광선은 관찰자의 시야에 도달하지 않기 때문에 전방 시뮬레이션은 기록되지 않은 조명 경로에서 많은 컴퓨팅을 낭비할 수 있습니다.

    따라서 광선 추적 단축키는 특정 광선이 뷰 프레임과 교차한다고 가정하는 것입니다. 픽셀의 값은 광선이 최대 반사 수 또는 아무 것도 교차하지 않고 특정 거리에 도달할 때 업데이트됩니다.

    우리가 가진 정보를 기반으로 (계산에서 벡터 정규화 및 외적을 사용합니다) :

    {\displaystyle E\in \mathbb {R^{3}} } 눈 위치

    {\displaystyle T\in \mathbb {R^{3}} } 타겟 포지션

    {\displaystyle \theta \in [0,\pi ]} 시야각 - 인간의 경우 가정할 수 있습니다. {\displaystyle \approx \pi /2{\text{ rad}}=90^{\circ }}

    {\displaystyle m,k\in \mathbb {N} } 뷰포트의 정사각형 픽셀 수(Number of square pixels on viewport vertical and horizontal direction)

    {\displaystyle i,j\in \mathbb {N} ,1\leq i\leq k\land 1\leq j\leq m}

    실제 픽셀 수

    {\displaystyle {\vec {v}}\in \mathbb {R^{3}} } 위아래 위치를 나타내는 수직 벡터, 일반적으로 {\displaystyle {\vec {v}}=[0,1,0]} (그림에는 표시되지 않음) - 점 C (회전축이 ET 섹션인 경우) 주위의 뷰포트 회전을 결정하는 롤 구성 요소

    Viewport schema witch pixels, eye E and target T, viewport center C

    아이디어는 각 뷰포트 픽셀 중심의 위치를 찾는 것입니다. P_{ij} 이를 통해 눈에서 해당 픽셀을 통과하는 선을 찾고 마지막으로 점 E 과 벡터 E (또는 정규화 {\displaystyle {\vec {R}}_{ij}=P_{ij}-E} )로 설명된 광선을 얻을 수 있습니다 {\displaystyle {\vec {r}}_{ij}} .

    먼저 왼쪽 하단 뷰포트 픽셀의 좌표를 찾고 {\displaystyle P_{1m}} 뷰포트와 평행한 방향(벡터 {\displaystyle {\vec {b}}_{n}} i {\displaystyle {\vec {v}}_{n}} )에 픽셀 크기를 곱하여 다음 픽셀을 찾아야 합니다.

    아래에서는 눈과 뷰포트 사이의 d 거리를 포함하는 공식을 소개합니다.

    그러나 이 값은 광선 정규화 중에 감소합니다 {\displaystyle {\vec {r}}_{ij}} (따라서 이를 수락 d=1 하고 계산에서 제거하는 것이 좋습니다).

    사전 계산 : 뷰포트에 평행 한 벡터와 벡터 {\displaystyle {\vec {t}}} 를 찾아 정규화 해 봅시다 {\displaystyle {\vec {b}},{\vec {v}}} (모두 위 그림에 묘사되어 있음).

    {\displaystyle {\vec {t}}=T-E,\qquad {\vec {b}}={\vec {t}}\times {\vec {v}}}{\displaystyle {\vec {t}}_{n}={\frac {\vec {t}}{||{\vec {t}}||}},\qquad {\vec {b}}_{n}={\frac {\vec {b}}{||{\vec {b}}||}},\qquad {\vec {v}}_{n}={\vec {t}}_{n}\times {\vec {b}}_{n}}

    뷰포트 중심, {\displaystyle C=E+{\vec {t}}_{n}d} 다음으로 뷰포트 크기를 {\displaystyle h_{x},h_{y}} 2로 나눈 값을 계산합니다. {\displaystyle {\frac {m-1}{k-1}}}

    {\displaystyle g_{x}={\frac {h_{x}}{2}}=d\tan {\frac {\theta }{2}},\qquad g_{y}={\frac {h_{y}}{2}}=g_{x}{\frac {m-1}{k-1}}}

    그런 다음 뷰포트()와 평행한 방향 {\displaystyle q_{x},q_{y}} 과 왼쪽 하단 픽셀 중심 {\displaystyle {\vec {b}},{\vec {v}}} 을 따라 다음 픽셀 이동 벡터를 계산 합니다 {\displaystyle p_{1m}}

    {\displaystyle {\vec {q}}_{x}={\frac {2g_{x}}{k-1}}{\vec {b}}_{n},\qquad {\vec {q}}_{y}={\frac {2g_{y}}{m-1}}{\vec {v}}_{n},\qquad {\vec {p}}_{1m}={\vec {t}}_{n}d-g_{x}{\vec {b}}_{n}-g_{y}{\vec {v}}_{n}}

    계산: 메모 {\displaystyle P_{ij}=E+{\vec {p}}_{ij}} 및 광선 {\displaystyle {\vec {R}}_{ij}=P_{ij}-E={\vec {p}}_{ij}} 소

    {\displaystyle {\vec {p}}_{ij}={\vec {p}}_{1m}+{\vec {q}}_{x}(i-1)+{\vec {q}}_{y}(j-1)}{\displaystyle {\vec {r}}_{ij}={\frac {{\vec {R}}_{ij}}{||{\vec {R}}_{ij}||}}={\frac {{\vec {p}}_{ij}}{||{\vec {p}}_{ij}||}}}

    이 JavaScript 프로젝트는 위의 공식을 평가했습니다 (브라우저에서 작동).

    자연에서 광원은 마침내 경로를 차단하는 표면에 도달하는 광선을 방출합니다. 이 광선은 동일한 경로를 따라 흐르는 광자의 흐름과 비교할 수 있습니다. 이상적인 진공에서 이 광선은 직선입니다(상대론적 효과 무시). 이 광선은 흡수, 반사, 굴절 및 형광의 모든 조합을 겪을 수 있습니다. 표면은 광선의 일부를 흡수하여 반사 및/또는 굴절된 빛의 강도를 감소시킬 수 있습니다. 또한, 하나 이상의 방향으로 광선의 전부 또는 일부를 반사할 수 있습니다. 표면이 투명하거나 반투명하면 광선의 구성 요소를 굴절시키면서 스펙트럼의 일부(또는 전체)를 흡수하고 색상을 변경할 수 있습니다. 드물게 표면이 빛의 일부를 흡수하고

    Enjoying the preview?
    Page 1 of 1