700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)

GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)

时间:2020-08-09 22:43:39

相关推荐

GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)

GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)

目录

GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)Finishing up ViewingRasterization 光栅化Perspective ProjectionCanonical Cube to ScreenDifferent raster displays 不同的光栅化设备Rasterizing a triangle为什么用三角形如何用像素表示三角形(判断像素中心点与三角形位置关系)函数:inside(tri, x, y)Evaluating inside(tri, x, y)Checking All Pixels on the Screen? **Bounding Box**Faster Real LCD Screen PixelsAliasing (Jaggies) Occlusions and Visibility

Finishing up Viewing

Viewport transformation

Rasterization 光栅化

在做完观测矩阵以后,所有的物体都已经在(-1,1)的三次方这么一个空间中,下一步就是画在屏幕里,这一步就叫光栅化。几何数据经过一系列变换后最终转换为像素,从而呈现在显示设备上的过程。

Perspective Projection

如何定义一个视锥(frustum)?

定义长宽比(r/t)和垂直可视角度(fovY),可以用这两个推出水平可视角度

Canonical Cube to Screen

What is a screen?

– An array of pixels(由像素组成的二维数组)

– Size of the array: resolution

– A typical kind of raster display(屏幕是一个经典的光栅化设备)Raster == screen in German

– Rasterize == drawing onto the screen

光栅化的过程就是把东西画在屏幕上的过程Pixel (FYI,short for “picture element”)

– For now: A pixel is a little square with uniform color

– Color is a mixture of (red, green, blue)Defining the screen space

– 屏幕的左下角是原点,向右是x,向上是y

– 像素的坐标是写成 (x, y)的。x和y都是整数

– 如果一个屏幕的分辨率是 (width, height),那么所有的像素可以用 (0, 0)到 (width - 1, height - 1)来表示。

– 像素实际的中心是 (x+0.5, y+0.5)

– 整个屏幕空间可以覆盖 (0, 0)到 (width, height)范围我们现在要做的实际上就是从 [-1,1]的三次方到 (0, 0)×(width, height)这么一个屏幕空间的变换

– 先不管z

– 把xy从[-1,1]2变到[0,width] × [0,height]

– 变换矩阵如下:(视口变换)

现在需要的是把图像打散变成像素,也就是光栅化。

Different raster displays 不同的光栅化设备

Oscilloscope 示波器

阴极射线管 Cathode Ray Tube

隔行扫描(视频压缩也用过)但是高速运动会发生画面撕裂现在显示的图像就是内存中的一块区域

屏幕分辨率超过视网膜:视网膜屏幕显示器现在一般是LCD液晶显示器

液晶现实的原理:通过竖直的光栅再通过液晶的扭曲,把光渐渐的扭过来,再从水平光栅出去。Electrophoretic (Electronic Ink) Display

Kindle

刷新率很低

好处是看起来自然

Rasterizing a triangle

为什么用三角形

用三角形表示面:

最简单的多边形任何其他的多边形都可以被拆成三角形三角形内部一定是平面的三角形内外定义十分清楚,也可以用叉积判断给定三角形三个顶点的属性,三角形内部的属性也可以用渐变得到(插值)

如何用像素表示三角形(判断像素中心点与三角形位置关系)

采样方法(Sampling a Function)

– 采样就是把函数离散化的过程

– 就是相当于某一个函数在不同像素中心的值是多少

函数:inside(tri, x, y)
判断像素是否在三角形内

Evaluating inside(tri, x, y)
如果在边界上,可以自己定义(比较牛的设定是落在上边和左边算三角形内,落在下边和右边不算三角形内)
Checking All Pixels on the Screen?Bounding Box

实际上三角形只是很小的区域,没必要遍历所有像素。

可以做一个包围盒(Axis - Aligned Bounding Box)简称AABB

Faster

Real LCD Screen Pixels

Aliasing (Jaggies)

走样体现在:锯齿

原因:像素本身有一定体积

解决:抗锯齿、反走样

Occlusions and Visibility

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。