摘要: Swizzling and Masking 如果你使用输入、常量、临时寄存器作为源寄存器,你可以彼此独立地swizzle .x,.y,.z,.w值。如果你使用输出、临时寄存器作为目标寄存器,你可以把.x,.y,.z,.w值用作write masks。 下面是一些细节:Swizzling (only 阅读全文
posted @ 2016-05-15 19:28 朴者 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 之前我们学习了如何声明顶点着色器、如何设置常量寄存器中的常量。接下来我们学习如何写和编译一个顶点着色器程序。 在我们编译一个顶点着色器之前,首先需要写一个。 有17种不同的指令(instruction),它们的句法如下: 1. add 参数:dest,src1,src2 作用:src1+src2 2 阅读全文
posted @ 2016-05-12 15:44 朴者 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 一次只有一个vertex shader是活跃的。你可以有多个vertex shader,如果一个物体特殊的变换或者灯光,你可以选择合适的vertex shader来完成这个任务。 你可能想使用vertex shaders在每个物体或每个网格上,例如,十个网格,你可以使用十个不同的vertex sha 阅读全文
posted @ 2016-05-12 15:21 朴者 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: Vertex shader Architecture: 所有在vertex shader中的数据都用128-bit的quad-floats表示(4x32-bit)。 vertex shader线性地执行程序——一个指令(introduction)一个指令地执行。它不允许循环、跳跃、条件分支。在Dir 阅读全文
posted @ 2016-05-12 13:15 朴者 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 光照用来表示材质和光源之间的相互作用。光照可以和颜色,纹理,以及透明度等一起使用,共同形成屏幕上的视觉外观效果。 主要存在三种类型的着色处理方法:扁平、Gouraud、Phong。这3种方法分别基于多边形,顶点,像素来计算光照效果。 扁平着色处理是以三角形为单位进行颜色计算,然后用这种颜色对三角形进 阅读全文
posted @ 2016-05-08 22:28 朴者 阅读(1828) 评论(0) 推荐(0) 编辑
摘要: 1)平移变换 从一个位置到另一个位置的变换可以用平移矩阵T表示,该矩阵通过向量t=(tx,ty,tz)对实体进行平移操作。 其实还有另外一种形式(以左手坐标系为基准): 第一种形式(以右手坐标系为基准的)进行变换时将T与需要变换的点或向量A(列向量)相乘,即TA。第二种形式(以左手坐标系为基准)将需 阅读全文
posted @ 2016-05-08 14:49 朴者 阅读(27105) 评论(0) 推荐(1) 编辑
摘要: 在实时计算机图形学中,可以将管线结构粗略地分为3个阶段:应用程序、几何、光栅。 应用程序阶段由应用程序来驱动,因此可以通过软件来实现。这个阶段可以包括碰撞检测、加速算法、动画以及力反馈等。几何阶段,可以用软件或硬件实现,包括变换、投影、光照等处理。此阶段主要计算绘制的内容、如何绘制,以及在什么地方绘 阅读全文
posted @ 2016-05-07 17:09 朴者 阅读(1225) 评论(0) 推荐(0) 编辑
摘要: 优点:伸展树(splay tree)是一种能自我调整的二叉搜索树(BST)。虽然某一次的访问操作所花费的时间比较长,但是平摊(amortized) 之后的访问操作(例如旋转)时间能达到O(logn)的复杂度。对于某一个被访问的节点,在接下来的一段时间内再次频繁访问它(90%的情况下是这样的,即符合9 阅读全文
posted @ 2016-05-06 13:18 朴者 阅读(1712) 评论(0) 推荐(0) 编辑
摘要: 映射表(map) 在每个条目被插入时将之按键进行排序。取迭代器指向值时将返回value_type结构,它有两个数据成员:first,second。访问first获得键的数据,访问second获得值的数据。 除了迭代器访问外,映射表还提供通过它们的键值随机访问的接口(可以用数组进行访问)。 注意 !! 阅读全文
posted @ 2016-05-05 14:18 朴者 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 此warning产生的原因是因为标识符过长,超过了最大限定255个字类名超过了255个字,使用时就会报4786的waring。在使用STL(C++标准模板库)的时候经常引发类似的错误,尤其是vector,map这类模板类,模板中套模板,一不小心就超长了。解决方法有两种,一种是直接定义别名: #ifd 阅读全文
posted @ 2016-05-05 13:38 朴者 阅读(666) 评论(0) 推荐(0) 编辑