9 凯奥斯

尚未进行身份认证

可能是最不会写注释的程序员。

等级
TA的排名 5k+

转战知乎

凯奥斯的知乎主页

2018-10-08 12:12:34

Unity3D白皮书(四) Unity3D在渲染方面都帮我们做了什么?

未尽和错误之处欢迎打脸…… 1、顶点数据:包括顶点位置、顶点色、法线、uv等。这些数据从模型文件(例如FBX)中读取出来,组织成一个数据结构——Mesh,但最终渲染的时候还是从Mesh中将这些数据(可能会被更改)取出来传给GPU。 2、Vertex shader & Fragment shader:对Unity3D开发者来说是透明的。Unity3D开发者使用ShaderLab编写Unity

2018-01-17 20:58:00

理解矩阵,矩阵背后的现实意义

原文链接(排版稍作调整) http://www.360doc.com/content/14/0824/14/202378_404267225.shtml这是很早以前已经看过的,最近无意中又把保存的文章翻出来时,想起很多朋友问过矩阵,虽对矩阵似懂非懂,但却很想弄懂它,希望这几篇文章能帮你一下,故转之:线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全

2018-01-15 16:28:19

Shader山下(三十)移动平台上的优化

以下摘录自《Unity 3D ShaderLab开发实战详解》,第34章。(2015年第2版) 本章的大部分内容都是从 Unity 的官方论坛和文档收集的,在此只是简单地分享给读者。移动平台的特点相对于 PC 来说,移动平台上不论是内存还是运算速度,都相差了至少一个数量级,而且移动平台一般使用的是电源电池,而不是插线板,因此,其最大负荷是有限的,这就使我们不得不考虑如何最大化地优化 Shader

2017-12-12 19:28:10

Shader山下(二十九)基于渲染路径的优化

以下摘录自《Unity 3D ShaderLab开发实战详解》,第33章。 VertexLit 渲染路径下的优化VertexLit 渲染路径的特点虽然读者一般不会使用 VertexLit 渲染路径,但是,如果你觉得这是一个适合你项目的渲染路径,那么需要知道:在 VertextLit 渲染路径下,所有的光源数据都存放于 unity_LightPosition[] 和 unity_LightColor[

2017-12-12 18:30:58

Shader山下(二十八) 切空间

以下摘录自《Unity 3D ShaderLab开发实战详解》,18.1。如果要理解法线贴图的用法,就要知道Tangent Space,即切空间。什么是切空间?想象一下这样一个假设的情形:“2013年2月14日,上帝创造完世界之后,没错,他刚刚把世界造好,然后他让全世界70亿人民全体力争,昂首挺胸,双脚着地,头朝上,面朝南,报告一下此时太阳的方位。”我可以肯定地告诉各位读者,会有70亿个不同的答案。

2017-12-11 15:58:49

Shader山下(二十七)平面阴影

以下摘录自《Unity 3D ShaderLab开发实战详解》,第10章。 转注:这是一个非常简单且廉价的实时假阴影,比较常用到,据我所知,王者荣耀中就使用了类似的手法。缺点就是比较假,只能投射到平面上,不能应对地面的凹凸,最明显的问题就是会插到墙里去。

2017-12-09 11:56:31

Unity3D开发小贴士(十八)各种事件的执行顺序

Unity3D各种事件的执行顺序

2017-12-08 12:49:53

Shader山下(二十六)Forward渲染路径中的灯光信息

以下摘录自《Unity 3D ShaderLab开发实战详解》,7.7.1-7.7.2。

2017-12-07 20:59:51

Shader山下(二十五)顶点照明中的灯光信息

以下摘录自《Unity 3D ShaderLab开发实战详解》,6.4.7-6.4.8。顺便吐槽自己:时隔一年多之后的更新。

2017-12-07 20:01:00

Lua源码揭秘(五)绑定Lua之前你需要知道的

lapi.c和lauxlib.c里包含了大部分的lua的capi。所谓capi是指在c形式的api接口,可以在c/c++/c#/…中可以调用到的api,但是lua中并不一定有对应的方法。ldebug.c里有一些调试用的capi(后续文章会介绍)。另外一些capi,便是打开lua库函数的capi,在lualib.h里集中声明。lapi.c基础的capi。state相关lua_checkstatck检查

2017-12-02 13:21:48

浅入浅出LuaJIT

JIT什么是JITJIT=JustInTime即时编译,是动态编译的一种形式,是一种优化虚拟机运行的技术。程序运行通常有两种方式,一种是静态编译,一种是动态解释,即时编译混合了这二者。Java和.Net/mono中都使用了这种技术。然而IOS中禁止使用(不是针对JIT,而是所有的动态编译都不支持)!为什么要使用JIT解释执行:效率低。代码暴露。静态编译:不够灵活,无法热更新。

2017-11-25 10:18:06

Lua源码揭秘(四)一个不算难的string库扩展

前两篇Lua源码揭秘(二)一个简单的数学扩展库函数Lua源码揭秘(三)一个比较简单的table库扩展分别对math库和table库进行了扩展,本篇就继续扩展一下string库。 我们直接打开lstrlib.c(再次强调:在实际工作中的标准做法是在宿主语言中实现)。 添加以下代码:static int str_split(lua_State *L){ size_t l1 = 0;

2017-11-06 18:48:12

Peeking inside LuaJIT(窥探LuaJIT)

原文链接:https://pwparchive.wordpress.com/2012/10/16/peeking-inside-luajit/ LuaJIT is a high-performance virtual machine for Lua. I’ve recently started playing with it and this blog post talks about what

2017-11-01 13:57:58

Lua源码揭秘(三)一个比较简单的table库扩展

有了上一篇 Lua源码揭秘(二)一个简单的数学扩展库函数的经验之后,我们尝试写稍微复杂一点的库函数。 我们直接打开ltablib.c(再次强调:在实际工作中的标准做法是在宿主语言中实现)。 添加以下代码:static in values(lua_State *L){ luaL_checktype(L, 1, LUA_TTABLE); lua_newtable(L);

2017-10-30 21:12:39

Unity2D:Sprite和UI Image的区别

原文链接http://blog.csdn.net/zhaoguanghui2012/article/details/54089355Unity3D最初是一个3D游戏引擎,而从4.3开始,系统加入了Sprite组件,Unity也终于有了2D游戏开发的官方解决方案。4.6更是增加了新的UI系统uGUI,使得使用Unity开发2D游戏效率非常高。那么对于从事2D游戏开发的同学来说,想必都曾经遇到过2D元

2017-10-30 10:02:25

Lua源码揭秘(二)一个简单的数学扩展库函数

之前遇到过一个问题,在我们的游戏中大量使用了atan方法,但是atan的方法太费了,所以我们使用了泰勒展开式来求一个近似值。 arctan的泰勒展开式为: arctan(x)=x−13x3+15x5−17x7⋯+(−1)n−12n−1x2n−1arctan(x)=x-\frac{1}{3}x^3+\frac{1}{5}x^5-\frac{1}{7}x^7\cdots+\frac{{(-1)}^{

2017-10-28 17:05:21

Lua源码揭秘(一)概述

由于工作原因,需要撸一波lua源码。相关的文章有很多,其中就有云风未完成的《Lua源码鉴赏》,以及《Lua GC 的源码剖析》,也是我阅读源码过程中的重要参考。“纸上得来终觉浅,绝知此事要躬行”,于是开一个专栏,专门记录此间的心得。 lua版本是5.1.5,(⊙o⊙)…我们项目里实际上使用的是luajit-2.1(⊙o⊙)…莫名的觉得在读luajit之前应当先读一下对应的原生lua版本,于是就走上

2017-10-28 15:33:32

土圭垚㙓数学课(四)空间变换

我曾经在Shader山下(十六)坐标空间与转换矩阵中介绍过,一个物体要显示在平面上,需要经过四步空间变换(实际上是五步): 物体空间->世界空间->观察空间->裁剪空间(->归一化设备空间)->屏幕空间 (差不多就是这个意思) 实际上,在可编程渲染管线中,我们往往只需要操作从物体空间到裁剪空间的转换,可以用一个矩阵链乘M(odel)V(iew)P(rojection)表示。本文就介绍一下

2017-10-09 14:42:53

决策树vs行为树

原贴地址https://gamedev.stackexchange.com/questions/51693/decision-tree-vs-behavior-tree(可能需要翻墙)The two are pretty different. The real indicator is in the names. Decision trees are just for making decisio

2017-09-22 12:40:34

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!