渲染和计算机图形学
文章平均质量分 69
为Render和Shade这两个词在三维软件中是截然不同的两个概念,虽然它们的功能很相似,但却有不同。Shade是一种显示方案,一般出现在三维软件的主要窗口中,和三维模型的线框图一样起到辅助观察模型的作用。
heyuchang666
这个作者很懒,什么都没留下…
展开
-
材质、着色器和纹理
Unity 中的渲染采用材质、着色器和纹理。所有这三者之间有着密切的关系。 材质通过包含对所用纹理的引用、平铺信息、颜色色调等来定义表面应使用的渲染方式。材质的可用选项取决于材质使用的着色器。 着色器是一些包含数学计算和算法的小脚本,根据光照输入和材质配置来计算每个像素渲染的颜色。 纹理是位图图像。材质可包含对纹理的引用,因此材质的着色器可在计算游戏对象的表面颜色时使用纹理。除了游戏对象表面的基本颜色(反照率)之外,纹理还可表示材质表面的许多其他方面,例如其反射率或粗糙度。 材原创 2021-06-17 16:25:13 · 732 阅读 · 2 评论 -
OpenGL---实例 球体 画圆锥
用OpenGL 的接口直接创出对应的实心球,圆锥体,圆环转载 2017-08-23 17:17:22 · 15647 阅读 · 0 评论 -
虚数的意义
这就是虚数乘法的物理意义:改变旋转角度。将实数轴看作横轴,虚数轴看作纵轴,就构成了一个二维平面。旋转到某一个角度的任何正实数,必然唯一对应这个平面中的某个点。只要确定横坐标和纵坐标,比如( 1 , i ),就可以确定某个实数的旋转量(45度)。数学家用一种特殊的表示方法,表示这个二维坐标:用 + 号把横坐标和纵坐标连接起来。比如,把 ( 1 , i ) 表示成 1 + i 。这种表示方法就叫做复数(complex number),其中 1 称为实数部,i 称为虚数部。转载 2017-07-21 19:14:15 · 1289 阅读 · 0 评论 -
计算机图形学(四)几何变换_5_三维空间的几何变换_1_三维平移
在三维空间中,对象的平移通过平移定义该对象的各个点然后在新位置重建该对象而实现。对于由一组多边形表面表示的对象,可以将各个表面的顶点进行平移如下图,然后重新显示新位置的面。原创 2017-06-30 16:14:53 · 5727 阅读 · 0 评论 -
计算机图形学(四)几何变换_5_三维空间的几何变换
当我们讨论xy平面上的二维旋转时,只需考虑沿着垂直于xy平面的坐标轴进行旋转;而在三维空间中,可能选择空间的任意方向作为旋转轴方向。大多数图形软件将三维旋转作为绕三个坐标轴的二维旋转的复合而进行处理。另一种解决方案则是用户根据给定轴的方向和旋转角度建立一个总的旋转矩阵。原创 2017-06-26 16:21:38 · 1988 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换_5_其他二维变换_2_错切
错切(shear)是一种使对象形状发生变化的变换,经过错切的对象好像是由已经相互滑动的内部夹层组成。两种常用的错切变换是移动x坐标值的错切和移动Y坐标值的错切。相对于x轴的x方向错切由下列变换矩阵1产生:该矩阵将坐标位置转换成可以将任意实数赋给错切参数shx。然后将坐标位置(x, y)水平地移动与其到x轴(y = 0)的距离(Y值)成正比的量。例如,设置shx为2,原创 2017-06-01 14:36:17 · 5790 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换_5_其他二维变换_1_反射
大多数图形软件包中包含了类似平移、旋转和缩放这些基本变换。有些软件包还提供一些对某些应用有用的其他变换。反射和错切是这样的两个变换。 产生对象镜像的变换称为反射(reflection)。对于一个二维反射而言,其反射镜像通过将对象绕反射轴旋转180°而生成。我们可以在xy平面内或垂直于xy平面选择反射轴(axis of reflection)。当反射轴是xy平面内的一条直线时,绕这个轴的旋转路径在垂直于xy平面的平面中;而对于垂直于xy平面的反射轴,旋转路径在xy平面内。下面举出一些普通反射的原创 2017-05-12 18:47:21 · 5457 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换_4_二维刚体变换
如果一个变换矩阵仅包含平移和旋转参数,则它是一个刚体变换矩阵(rigid-body transforma-tion matrix)。二维刚体变换矩阵的一般形式为矩阵1:其中,4个元素rjk是多重旋转项,元素trx和try是平移项。坐标位置的刚体变化有时也称为刚体运动(rigid_motion)变换。变换后坐标位置的所有角度和距离都不变化。此外矩阵1具有其左上角的2x2矩阵是一正交矩阵(orthogonal matrix)的特性。这说明,假如将子矩阵的每一行(或每一列)作为一个向量,那么两个行向量(rxx,原创 2017-04-26 14:54:11 · 4411 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换_3_通用二维复合变换和计算效率
因此,实际上变换坐标位置仅需完成4次乘法和4次加法。一旦把单个矩阵连接起来计算出复合矩阵的元素值,这就是任何变换序列所需计算的最大数目。假如没有合并,那么每次都要使用一个单独的变换,则计算的数目将大大增加。因此,变换操作的有效实现是先形成变换矩阵,合并所有变换序列,然后用等式2计算变换的坐标。在并行系统上,使用等式1的复合变换矩阵而直接进行矩阵相乘也可以有相同的效果。 由于旋转计算需要对每个变换点进行三角求值和多次乘法,因而在旋转变换中的计算效率就成为十分重要问题。在动画及其他包含许多重复原创 2017-04-25 16:43:20 · 2146 阅读 · 0 评论 -
OpenGL函数_ glColor函数颜色
在OpenGl中设置颜色,一般可以使用glColor3f()。从函数名字就可以看出,它的参数应该有三个,类型是float型的。另外一点是它的参数值的范围是[0.0,1.0]一般的,可以将这三个参数值视为颜色的成分。0.0 -- > 不使用颜色成分;1.0 -- > 使用颜色的最大值原创 2017-04-13 19:17:10 · 9244 阅读 · 1 评论 -
OpenGL单缓冲与双缓冲的区别
单缓冲,实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,你回到屏幕的闪烁。 双缓冲,实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。一般用OpenGL绘图都是用双缓冲,单缓冲一般只用于显示单独的一副非动态的图像转载 2017-04-07 10:50:55 · 4348 阅读 · 0 评论 -
OpenGL函数_ gl.glenable()详细介绍
glEnable 用于启用各种功能。功能由参数决定。与glDisable相对应。glDisable是用来关闭的。两个函数参数取值是一至的。参数说明:void glEnable(GLenum cap)GLenum 是unsigned int 类型cap 是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表转载 2017-04-07 10:42:06 · 15711 阅读 · 1 评论 -
OpenGL---GLUT教程(二) GLUT初始化
Void glutInit(int*argc,char**argv);//初始化Void glutInitWindowPositon(int x,int y);//窗口位置(它默认的是屏幕左上角),X: 距离屏幕左边的像素数。Y:距离屏幕上边的像素数,默认值都是-1。Void glutInitWindowSize(int width,int height); //设置窗口大小Void glutInitDisplayMode(unsighed int mode); // 定义显示方式Int glutC原创 2017-04-06 18:57:49 · 1551 阅读 · 0 评论 -
OpenGL_GLUT(一)_vs2013中配置gult库
GLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。感谢GLUT,使我们可以写程序而不必去学关于X windows或者微软自己的窗口系统。Kilgard在X windows上应用这个库,后来Nate Robins把它扩展到微软的窗口系统。原创 2017-04-06 18:20:25 · 1155 阅读 · 0 评论 -
opengl库中gl glu glut glaux的区别
OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库。gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库。gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果算数好,不用glu的情况下,也是可以做出同样的效果。glut是基本的窗口界面,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了我们编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨转载 2017-04-06 16:26:59 · 1425 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换_2_矩阵合并特性
因此,依靠变换的描述次序,既可以使用从左到右(前乘),也可以使用从右到左(后乘)的结合分组来求矩阵乘积。有些图形软件包要求变换按应用的次序描述。 在这种情况下,先引入变换M1,然后M2,最后M3。在每一个连续的变换子程序被调用时,其矩阵从左边与前面的矩阵乘积合并。而另一些图形系统是后乘矩阵,因此该变换序列按相反次序引入;最后引入的变换(本例中是M1)是最先应用的,而第一个被调用的变换(此时是M3)是最后应用的。原创 2017-03-31 16:52:46 · 2249 阅读 · 0 评论 -
计算机图形学(四)几何变换_4_二维复合变换(上)
利用矩阵表达式,可以通过计算单个变换的矩阵乘积,将任意的变换序列组成复合变换矩阵(compsite transformation matrix)。形成变换矩阵的乘积经常称为矩阵的合并(concatenation)或复合(compsistion)。由于一个坐标位置用齐次列矩阵表示,我们必须用表达任一变换次序的矩阵前乘该列矩阵。由于场景中许多位置用相同的顺序变换,先将所有变换矩阵相乘形成一个复合矩阵将是高效率的方法。因此,如果我们要对点位置P经行两次变换,变换后的位置将用下式计算。只有相对于坐标原点缩放的缩放原创 2017-03-29 18:06:39 · 6393 阅读 · 3 评论 -
计算机图形学(四)几何变换_3_矩阵逆变换
旋转角的负值生成顺时针方向的旋转,因而当任何旋转矩阵和其逆旋转矩阵相乘时生成单位矩阵。由于旋转角符号的变化仅影响sin函数,因此该逆矩阵可以通过交换行和列来获得。即我们可以做任何旋转矩阵R的转置矩阵来得到它的逆矩阵(R-1= RT)。 将缩放系数用其倒数取代就得到了缩放变换的逆矩阵。对以坐标系原点为中心,缩放参数为Sx和Sy的二维缩放,其逆变换矩阵为原创 2017-03-28 18:14:33 · 6510 阅读 · 0 评论 -
计算机图形学(四)几何变换_2_矩阵表示_2_二维矩阵
图形软件中的一种替代方法是在旋转子程序中为基准坐标提供另外的参数。然后,包含基准点参数的旋转子程序建立一个不需要引入一系列变换函数的通用旋转矩阵。 缩放操作S(sx,sy)是方程中以sx和sy参数为3*3矩阵。多数情况下,我们可以缩放矩阵表示成S。有些软件包尽可能有些软件包仅提供如方程所示的以坐标系原点为中心的缩放函数。在这种情况下,以另一参考点为中心的缩放变换通过一系列变换操作来处理。然而,有些系统也包括通用的缩放子程序,可以指定点为中心的缩放构造齐次函数。原创 2017-03-27 20:43:57 · 4016 阅读 · 0 评论 -
计算机图形学(四)几何变换_2_矩阵表示_1_矩阵表示和齐次坐标
如果将2x2矩阵表达式扩充为3x3矩阵,就可以把二维几何变换的乘法和平移项组合成单一矩阵表示。这时将变换矩阵的第三列用于平移项,而所有的变换公式可表达为矩阵乘法。但为了这样操作,必须解释二维坐标位置到三元向量的矩阵表示。标准的实现技术是将二维坐标位置表示(x,y)扩充到三维表示(xh,yh, h),称为齐次坐标(homogeneous coordinate),这里的齐次参数(homogeneous parameter)h是一个非零值原创 2017-03-14 19:19:10 · 5259 阅读 · 0 评论 -
计算机图形学(四)_几何变换_1_基本的二维几何变换(三)_缩放
改变一个对象的大小,可使用缩放(scaling)变换。一个简单的二维缩放操作可通过将缩放系数(scaling factor)Sx 和 Sy与对象坐标位置(x, y)相乘而得: 在缩放公式中包含固定点的坐标,类似于在旋转公式中包含基准点的坐标。我们可以建立一个其元素为方程(5.14)中常数项的列向量,然后将这个列向量加到等式(5.12)中的乘积S*P上。下一节将讨论仅包含矩阵乘法的变换方程的矩阵形式。 多边形的缩放可以通过将变换方程(5.14)应用于每个顶点,然后利用变换后的顶点重原创 2017-03-09 18:34:41 · 9590 阅读 · 0 评论 -
计算机图形学(四)_几何变换_1_基本的二维几何变换(二)_旋转
类似于平移,旋转是一种不变形地移动对象的刚体变换,对象上的所有点旋转相同的角度。线段的旋转可以通过将旋转方程5用于每个线段端点,并重新绘制新端点间的线段而得到。多边形的旋转则是将每个顶点旋转指定的旋转角,并使用新的顶点来生成多边形而实现旋转。曲线的旋转通过定位定义的点并重新绘制曲线而完成。例如圆或椭圆,可以通过将中心位置沿指定旋转角对着的弧移动而绕非中心轴旋转。椭圆可通过旋转其长轴和短轴来实现绕其中心位置的旋转。原创 2017-03-03 16:46:41 · 8634 阅读 · 0 评论 -
计算机图形学(四)_几何变换_1_基本的二维几何变换(一)
几何变换有时也称为建模变换(modeling transformation ),但有些图形系统将两者区分开来。建模变换一般用于构造场景或给出由多个部分组合而成的复杂对象的层次式描述等。例如,一架飞机由机翼、机尾、机身、发动机和其他部分组成,每一部分又可描述成第二级组合体,如此等等,在层次结构中逐层往下描述。因此,该飞机可用那些部件及附属于每个部件的“建模”变换来描述,这些变换指出那些部件如何适用于整个飞机的设计。另一方面,几何变换能用来描述动画序列中对象在场景中可以怎样移动或简单地从另一角度来观察它们。因此原创 2017-03-02 19:26:50 · 3547 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_章节总结(下)
glutInitDisplayMode 选择颜色模式,GLUT_RGB或GLUT_INDEXglColor* 指定一个RGB或RGBA颜色glIndex* 用颜色表索引指定一个颜色glutSetColor(index, r, g, b); 将一个颜色装入一个颜色表位置glEnable(GL_BLEND); 激活颜色调和glBlendFunc(sFact, dFact); 指定颜色调和因子glEnableClientState 激活OpenGL颜色数组设施(GL_COLOR_ARRAY); g原创 2017-03-01 16:00:10 · 929 阅读 · 1 评论 -
计算机图形学(三)_图元的属性_章节总结(上)
由于扫描转换是光栅系统的一个数字化过程,因此显示图元有阶梯效应。这是由于将坐标值取整到像素位置造成的信息低取样所形成的。我们可通过应用调整像素强度的反走样过程来改善光栅图元的外貌。过取样是一种实现反走样的方法。即将每一像素看作为子像素的组合并计算每一子像素的强度及所有子像素的平均值。我们还可按子像素的位置来确定其贡献权值,给中心以最高权值。另一种选择是,进行区域取样并确定一个屏幕像素的区域覆盖百分比,然后设定与该百分比成比例的像素亮度。另一种反走样方法是构造能移动像素位置的硬件配置。原创 2017-02-28 19:27:08 · 1827 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_8_OpenGL反走样函数
使用下列函数可激活OpenGL的反走样子程序:glEnable (primitiveType); 其中参数primitiveType被赋以符号常量GL_POINT_SMOOTH, GL_LINE_SMOOTH或GL POLYGON SMOOTH。假定我们用RGBA模式指定颜色,则同样需要激活OpenGL颜色调和操作。glEnable (GL_BLEND);接下来,通过下列函数使用颜原创 2017-02-14 11:19:22 · 791 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_17_ OpenGL属性组
属性和其他状态参数按属性组(attribute group)进行组织。每一组包括相关的状态参数集合。例如,点属性组(point-attribute group)包括了大小和点的平滑(反走样)参数,而线属性组(line-attribute group)包括了宽度、模板状态、模板图案、模板重复计数及线段光滑状态等。类似地,多边形属性组(polygon-attribute group)包括了11种多边形参数,如填充模式、前向面标志及多边形平滑状态。因为颜色是所有图元所共有的一个属性,所以它有单独的属性组。而有些参原创 2017-02-14 11:38:20 · 827 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_7_区域边界的反走样
区域边界的反走样 直线的反走样概念也可以用于区域的边界,从而消除其锯齿形的外貌。我们可以将这种程序加加入到扫描线算法中,在生成区域时来平滑区域轮廓。假如系统具有允许像素重定位的功能,那么就可以将边界像素位置调整到更靠近区域边界来实现对区域边界的平滑处理。其他方法则是根据边界内像素区域的百分比来调整每个边界位置上的像素亮度。在图4.53中,位置(x,y)上的像素有大约一半的区域在多边形边界内。因此,原创 2017-01-11 15:09:15 · 1249 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_6_直线亮度差的校正
为了减轻阶梯状效应,对直线进行反走样也为如图4.52所示的另一种光栅效果提供了校正。使用相同数目像素所绘制的两条线,对角线还是比水平线长√2倍。例如,当水平线的长度为10 cm时,对角线的长度超过14cm。这导致的视觉效果是对角线显得比水平线要暗,因为对角线以更低的单位长度亮度进行显示。画线算法通过按照每条线的斜率来调整其亮度,就可以对这种效果进行校正。水平和垂直线将以最低的亮度显示,而45度线则以最高亮度显示。一旦将反走样将技术应用于显示,就可以自动校正亮度。当考虑直线段的有限宽度时,可以把整体线段显示亮原创 2016-12-06 11:14:37 · 838 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_5_过滤技术和像素移相
对直线进行反走样的更精确的方法是采用过滤技术(filtering technique )。这种方法类似于应用加权的像素掩模,只是假设一个连续的加权表面(或过滤函数)覆盖像素。图4.50给出了矩形、圆锥和高斯过滤函数的例子。应用过滤函数的方法类似于应用加权掩模,但过滤函数是集成像素曲面来得到加权的平均亮度。为了减少计算量,经常使用查表法来得到整数值。原创 2016-11-18 17:37:16 · 857 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_4_直线短的区域取样
具有屏幕网格坐标(10, 20)的像素中约90%已由直线区域所覆盖,那么该像素的亮度就设置为最大亮度的90%;类似地,在(10, 21)的像素亮度设置为最大亮度的15%。估计像素覆盖区域的方法请参见图的过取样例子。在直线边界内,子像素的总数近似等于覆盖区域,并且这种估计结果的精度,可以通过采用更细的子像素网格而得到提高。对于彩色显示,则计算被不同颜色区域所覆盖的像素区域,并且将各覆盖区域的平均颜色作为最后的像素颜色。原创 2016-11-18 17:23:46 · 857 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_3_子像素的加权掩模
过取样算法经常在实现时将更大的权值赋给接近于像素区域中心的子像素,因为我们希望这些子像素在确定像素的整体亮度中可以实现更重要的作用。图4.49给出了3x3像素部分所采用的加权方案。其中,中心子像素的加权是角子像素的4倍,是其他像素的2倍。然后对9个子像素的每个网格所讨一算出的亮度进行平均。因此,中心子像素的加权系数为1/4,顶部和底部及两侧子像素的加权系数为1/8,而角子像素的加权系数为1/16。指定子像素的相对重要性的数值数组有时称为加权掩模(weighting mask)。也可以为较大的子像素网格建立类原创 2016-11-04 19:07:39 · 958 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_2_直线段的过取样
通过对有限宽线段进子示过取样,鉴别内部子像素比起简单地确定沿线路径的子像素需要更多的计算。我们同样要考虑相对于线路径的线边界的定位。这种定位取决于直线的斜率。对于45度的直线,线路径在多边形区域的中央;但对于水平线或垂直线,都要求线路径是多边形的边界之一。例如,经过网格坐标(10,20)的水平线将由水平网格线 y = 20和 y = 21表示为多边形边界。类似地,表示通过(10. 20)垂直线的多边形,具有沿网格线x = 10和x = 11的垂直边界。对于具有斜率|m| < 1的直线段,可以适当地将数学线路原创 2016-11-03 14:53:48 · 1583 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_16_ 反走样_1_产生的原因
由于取样过程将物体上的坐标点数字化为离散的整数像素位置,因此光栅算法生成的图元显示具有锯齿形或阶梯状外观。这种由于低频取样(不充分取样)而造成的信息失真称为走样(aliasing )。可以使用校正不充分取样过程的反走样(antialiasing)方法来改善所显示的光栅线的外观。解决方法:过取样(supersampling ),区域取样(area sampling,像素移相(pixelphasing )原创 2016-11-02 10:55:00 · 1031 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_15_ 字符属性
我们也可以通过缩放字符的整体尺寸(高度和宽度)或者仅缩放字符高度或宽度来调整文本大小。字符大小(高度)则由打印机和排字机以磅(point)为单位进行指定,其中1磅是0.035146厘米(或0.013837英寸、大约1/72英寸)。例如,本书的文本是10磅字体。磅值计量指定了字符体的大小(参见图4.35),但具有相同磅数的不同字体,按其字体设计的不同而具有不同的字符大小。在指定大小的一种字体中,所有字符的底线(bottomline)和顶线(topline)间的距离是相同的,但字符体的宽度可能不同。在成比例间距原创 2016-11-01 14:41:06 · 1560 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_14_ OpenGL填充区属性函数(下)
填充多边形的另一种方法是使用纹理。这将生成仿真木材、砖、纹钢(brushed ateel )或某些其他材料外貌的图案。也可以如线图元中的那样得到多边形内部的插值颜色。为此,我们对多边形的顶点赋以不同颜色。插值填充用来为各种光照条件下的着色表面生成真实感显示。作为插值填充的例子,下面的程序段将蓝色、红色和绿色分别赋给一个三角形的三个顶点。多边形填充就是在三个顶点间的颜色插值。原创 2016-09-27 14:59:52 · 2199 阅读 · 0 评论 -
掩模
光栅线算法通过绘制像素段来显示线型属性。对于各种划线、点线和点划线样式,画线程序沿线路径输出一些连续像素段。在每两个实心段之间有一个给定长度的空白间隔段,段长度和中间空白段的像素数目可用像素掩模(pixel mask)指定。像素掩模是包含数字0和1的字符串,用来指出沿线路径需要绘制哪些位置。例如,掩模11111000可用来显示划线长度为5个像素和间隔空白段为3个像素的虚线。与1对应的像素位置赋以当前颜色,而与0对应的像素位置显示背景色。原创 2016-09-26 20:58:21 · 3522 阅读 · 1 评论 -
计算机图形学(三)_图元的属性_14_ OpenGL填充区属性函数(上)
多边形填充图案一直显示到包括多边形的边。因此,填充区中没有边界线,除非特别指定要显示边界线。除了为多边形内部指定一个填充图案,还有其他多个的选项。一个选项是显示一个空心多边形,其中仅生成边而没有内部颜色或图案。空心多边形与显示一个封闭多边形图元等价。另一选项是只显示多边形顶点而没有内部填充且没有边。同样,我们也可以为多边形填充区的前向面和后向面指定不同的属性。原创 2016-09-26 20:42:48 · 1323 阅读 · 0 评论 -
计算机图形学(三)_图元的属性_13_ 不规则边界区域的填充方法
区域填充的另一种方法是从区域的一个内部点开始,由内向外逐点绘制直到边界。这对如绘画程序生成的有不规则边界的填充区域是很有用的技术。一般来说,这些方法要求输人待填充区域中的一个起始位置,以及关于边界或内部的颜色信息。 我们可以使用单一颜色或一个颜色图案来填充不规则区域。对于图案填充来说,如9节讨论的那样重叠一个颜色掩模。在处理区域中的每一个像素时,其颜色由对应的重叠掩模中的值来确定。原创 2016-09-23 15:05:00 · 7681 阅读 · 0 评论 -
UV Mapping(UV贴图)
当映射一个2D纹理到一个3D模型上,要设定循环模式(平铺方式)。这就是三维建模程序中,被称为UV贴图。在Unity,可以使用Materials缩放移动纹理。缩放法线和地形细节贴图尤其有用。"UV"这里是指u,v纹理贴图坐标的简称(它和空间模型的X, Y, Z轴是类似的)。 它定义了图片上每个点的位置的信息。这些点与3D模型是相互联系的, 以决定表面纹理贴图的位置。 UV就是将图像上每一个点精确对应到模型物体的表面. 在点与点之间的间隙位置由软件进行图像光滑插值处理。这就是所谓的UV贴图。原创 2016-09-22 20:31:14 · 26981 阅读 · 1 评论