<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Viewport_transformation</id>
	<title>Viewport transformation - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Viewport_transformation"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Viewport_transformation&amp;action=history"/>
	<updated>2026-05-19T10:36:30Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Viewport_transformation&amp;diff=1077&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류: 그래픽스 파이프라인 가운데  == 개요 == Viewport Transformation 이란 Canonical view volume을 화면에 출력하기 위한 2D이미지로 변환하는 과정이다.  == 방식 == 오른쪽 *viewport transformation에선 z 값을 유지시킨다. 2D이미지라서 z 값이 필요없다고 생각할 수도 있지만, z값은 나중에 이미지의 깊...</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Viewport_transformation&amp;diff=1077&amp;oldid=prev"/>
		<updated>2023-04-05T10:27:09Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EA%B7%B8%EB%9E%98%ED%94%BD%EC%8A%A4_%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8&quot; title=&quot;분류:그래픽스 파이프라인&quot;&gt;분류: 그래픽스 파이프라인&lt;/a&gt; &lt;a href=&quot;/noriwiki/index.php?title=%ED%8C%8C%EC%9D%BC:Viewport_transformation.png&quot; title=&quot;파일:Viewport transformation.png&quot;&gt;700px|섬네일|가운데&lt;/a&gt;  == 개요 == Viewport Transformation 이란 &lt;a href=&quot;/noriwiki/index.php?title=Canonical_view_volume&quot; title=&quot;Canonical view volume&quot;&gt;Canonical view volume&lt;/a&gt;을 화면에 출력하기 위한 2D이미지로 변환하는 과정이다.  == 방식 == &lt;a href=&quot;/noriwiki/index.php?title=%ED%8C%8C%EC%9D%BC:Raster_Image.png&quot; title=&quot;파일:Raster Image.png&quot;&gt;350px|섬네일|오른쪽&lt;/a&gt; *viewport transformation에선 z 값을 유지시킨다. 2D이미지라서 z 값이 필요없다고 생각할 수도 있지만, z값은 나중에 이미지의 깊...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[분류: 그래픽스 파이프라인]]&lt;br /&gt;
[[파일:Viewport transformation.png|700px|섬네일|가운데]]&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
Viewport Transformation 이란 [[Canonical view volume]]을 화면에 출력하기 위한 2D이미지로 변환하는 과정이다.&lt;br /&gt;
&lt;br /&gt;
== 방식 ==&lt;br /&gt;
[[파일:Raster Image.png|350px|섬네일|오른쪽]]&lt;br /&gt;
*viewport transformation에선 z 값을 유지시킨다. 2D이미지라서 z 값이 필요없다고 생각할 수도 있지만, z값은 나중에 이미지의 깊이 정보를 이용하여 가려지는 물체나 비치는 물체처럼 깊이 정보를 이용해야 하는 경우에 이용된다. [[Z-Buffer]]참고. &lt;br /&gt;
*[[Canonical view volume]]은 &amp;lt;math&amp;gt;[-1,1]^2&amp;lt;/math&amp;gt;의 범위를 가지는데 이를 &amp;lt;math&amp;gt; [-0.5,n_x-0.5]\times[-0.5,n_y-0.5]&amp;lt;/math&amp;gt;의 점위로 조사한다. 여기서 &amp;lt;math&amp;gt; n_y, n_x &amp;lt;/math&amp;gt;의 값은 각각 우리가 조사해야 하는 이미지 (화면에 출력되는 이미지)의 높이와 너비의 픽셀수를 의미한다. 그렇다면 왜 하필 -0.5가 필요한 것일까? 이것은 옆의 그림을 보면 이해할 수 있다. 0.5값으로 조정을 해야 우리가 원하는 픽셀의 가운데에 정확히 놓여지게 된다. 아니면 픽셀의 중간이 아니라 왼쪽 아래를 가르키게 된다. &lt;br /&gt;
&lt;br /&gt;
== 수식 ==&lt;br /&gt;
우선 기본적인 [[행렬 변환]]을 복기 하자면 다음과 같다. 이 식은 &amp;lt;math&amp;gt; [x_l,y_l][x_h,y_h] &amp;lt;/math&amp;gt; 에서 &amp;lt;math&amp;gt; [x_l&amp;#039;,y_l&amp;#039;][x_h&amp;#039;,y_h&amp;#039;] &amp;lt;/math&amp;gt;로 변환하는 식이다.&lt;br /&gt;
[[파일:행렬 변환.png|600px|프레임없음|가운데]]&lt;br /&gt;
이 행렬 변환에 &amp;lt;math&amp;gt; x_h=-1, x_l=1, y_h=-1, y_l=1, x_h&amp;#039;=-0.5, x_l&amp;#039;=n_x-0.5, y_h&amp;#039;=-0.5, y_l&amp;#039;=n_y-0.5 &amp;lt;/math&amp;gt;를 대입하고&lt;br /&gt;
&lt;br /&gt;
정리하면 다음과 같이 된다.&lt;br /&gt;
[[파일:Viewport Transformation.png|600px|프레임없음|가운데]]&lt;br /&gt;
이것이 최종 Viewport Transformation의 식이며 이 식을 이용하여 3D canonical 좌표계에서 2D 스크린 공간으로 변환 시킨다.&lt;/div&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
</feed>