游戏设计
文章平均质量分 81
duotemplar
无简述
展开
-
Cg语言中文说明文档(三)
语法每个声明中的声明符可以选择一个指定的语法,语法指定了变量如何在程序运行时连接到环境。所有的语法都是profile指定的,虽然有一部分尝试跨profile组成,但他们在不同的profile中拥有不同的意思。每个profile规范必须指定一系列profile可以理解的语法,以及当profile没有指定的语法的时产生的行为函数声明在C中函数声明是必须的。没有返回值的函数必须被声明为voi翻译 2017-10-12 11:26:27 · 596 阅读 · 0 评论 -
完全理解Unity中PreCompute Realtime GI及其优化(一)
Unity作为目前最流行的游戏开发引擎,在移动端也提供了良好的光照效果,帮我们构建更加真实的游戏场景。我们知道,一个游戏场景的真实与否,效果是否出色,有一部分来自光照。逼真的光照,总能表现出令人赞叹的效果。但要完全模拟现实中的光照,对CPU来说却是一件不可能完成的任务。通常,我们会使用一些方法来近似模拟这些效果。比如烘焙光,光照贴图,阴影贴图等。 在Unity中的预计算全局光照有两种,烘...原创 2018-06-03 09:59:27 · 4930 阅读 · 3 评论 -
Unity进阶修炼之路(2)——光照:上篇
Unity关于光照这部分的说明在知识点顺序上有点乱,也许并没有考虑的不同水准的读者,所以我打算写这样一篇博文,将其知识点重新整理下,希望能够帮大家了解和掌握相关的光照知识。文中我会以我的理解来解释一些概念,并不会非常严谨的遵循一些专业术语,或是度娘的解释,我觉得专业解释网上够多了,我的本意是希望大家能理解和搞懂这些概念,而非咬文嚼字。同样,本文不涉及具体的对这些光照技术在unity中应用操作,具体原创 2018-01-31 18:37:40 · 1724 阅读 · 0 评论 -
Unity进阶修炼之路(3)——光照:下篇
阴影有光必有影,阴影是由于光照到遮挡的物体然后投射到另一个物体表面形成的。关于在unity中投射阴影的条件,可以参看上篇的插图阴影暗斑 来看这两张图,左面的是正确的光照阴影,右边的圆柱体顶部,产生了细小的斑痕,但这是不正确的。该圆柱体顶部应该是光滑的,并不可能出现这样的斑痕。造成这种现象的原因,涉及到我们先前提过的Shadowmap,在阴影贴图中保存的是远近位置的深度信息,当使用原创 2018-02-01 15:52:22 · 1588 阅读 · 0 评论 -
UnityShader屏幕特效之Bloom
版权声明:本文为博主原创文章,如需转载请指明出处http://blog.csdn.net/u011047171目录(?)[+]Bloom特效概述 Bloom,又称“全屏泛光”,是游戏中常用的一种镜头效果,是一种比较廉价的“伪HDR”效果(如下右图);使用了Bloom效果后,画面的对比会得到增强,亮的地方曝光也会得到加强,画面也会呈现一转载 2017-10-26 14:52:26 · 1939 阅读 · 0 评论 -
Cg语言中文说明文档(四)
类型int整型适用于32位二进制补码。Profiles可以选择将整型看作float浮点类型。 unsigned无符号整型适用于32位顺序型。unsigned可以和其他整型一起形成不同长度的无符号类型。char,short,long都是二进制形式整型的不同长度的类型。唯一需要说明的是,char不能长于short,short不长于int,long至少要和int一样长。浮点类型和IEEE标准的32翻译 2017-10-19 15:12:56 · 1604 阅读 · 1 评论 -
OpenGL 的空间变换(下):空间变换
通过本文的上篇OpenGL 的空间变换(上):矩阵在空间几何中的应用,我们了解到矩阵的基础概念。并且掌握了矩阵在空间几何中的应用。接下来,我们将结合矩阵来了解 OpenGL 的空间变换。在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中:世界空间模型空间(也称为对象空间)视图空间(也称为视点空间、摄像机空间)裁剪空间标准设备坐标空转载 2017-11-01 10:56:35 · 1368 阅读 · 0 评论 -
OpenGL 的空间变换(上):矩阵在空间几何中的应用
在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中,最后才会被显示到屏幕上。在变换的过程中,通过使用矩阵,我们更高效地来完成这些变换工作。本篇博客主要介绍的是矩阵以及矩阵在空间几何中的应用。关于 OpenGL 空间,我把它们安排在了另一篇博客OpenGL 的空间变换(下):空间变换中来介绍。本篇博客主要分为两部分:矩阵基础和矩阵在空间转载 2017-11-01 10:55:07 · 506 阅读 · 0 评论 -
VS2015update2环境下DirectX11编程说明
本文索引:一 关于龙书二 在vs2015u2环境下编写DirectX11程序三 关于MSDN帮助文档四 官方示例项目五 自己尝试编写一个小项目1 创建一个win32项目2 配置依赖库3 添加源文件4 完成六 总结一、 关于龙书相信很多看想要学习DirectX编程的小伙伴都有听说过龙书,也就是官方推出的《Introduction to 3D Game Pr转载 2017-10-30 15:18:34 · 956 阅读 · 0 评论 -
Cg语言中文说明文档(五)
赋值表达式赋值到具体类型对象时,将表达式转换为该类型的对象,表达式的结果值被复制到该对象中。赋值表达式(=,*=等)和C中定义的一致 一个赋值表达式在赋值后,有给予左值的值,但却不等同于左值。赋值表达式的类型是左值的类型,除非左值有一个修饰符。在这种情况下,赋值表达式的值是其对应的未修饰版本的值类型。更新左值产生的边界效应将发生在先前和接下来的指令序列之间。一个动态类型的赋值表达式,翻译 2017-11-06 11:11:24 · 668 阅读 · 0 评论 -
Cg语言中文说明文档(二)
声明及声明修饰符Cg程序有一系列的声明构成,每个声明由一个或多个函数或变量构成。每个声明,有零个或多个声明修饰符,类型,一个或多个声明组成。一些修饰符和标准C一样,一些是Cg中特有的const变量被定义成常量的话,在程序中,就不能再对该变量赋值,除非const和uniform,varying一起使用。const修饰的变量,需要在声明时给予一个初始值externextern表明声翻译 2017-10-11 11:02:58 · 838 阅读 · 0 评论 -
Cg语言说明文档(一)
语言概述Cg语言主要是基于标准C语言之上,但也借鉴了一些现代语言的思想,比如C++和JAVA,以及早期的shading语言,诸如RenderMan,Stanford。同时也引入了一些新的特性。尤其是它包含了一些专门为在像GPU这类流处理架构中描述数据的特性。通过在编译时指定Profiles,可以将cg语言的某些特性构造成子集,这些特性包括实现循环和在某些计算执行时的精度。(一坨大空话,特别最后翻译 2017-07-13 16:28:50 · 1996 阅读 · 1 评论 -
完全理解Unity预计算全局光照及其优化(二)
上一篇介绍了许多预计算全局光照涉及的概念,那么本篇就将介绍这些概念的具体的用途,以及相关的优化方法。实际使用中,预计算全局光如果不进行优化的话,往往会让编辑器耗费大量的时间,甚至长时间没有反应。那么对GI进行优化,加快其烘焙效率,同时也能对运行时的性能造成影响。在Unity中,对预计算全局光照的设置分为两部分。一种是对整个场景进行的设置,通常就是我们在lightmap setting窗口中看到的相...原创 2018-06-12 22:45:07 · 2510 阅读 · 0 评论