2018年6月20日

《斯坦福大学:编程范式》第三节:* 与&的技巧,每种数据结构的内存布局和内存地址

摘要: 例1 double d = 3.1416; char c = *(char*) &d; &d 拿到指向d的内存地址,根据内存的起始点不同,值不同。 (char*) 把它当做 (char*) 类型,也就是指向char的指针。 * 解引用:根据指向的地址的起始点,向后 拿 8bits(也就是 char的 阅读全文

posted @ 2018-06-20 23:43 百无禁忌 阅读(354) 评论(0) 推荐(0) 编辑

2018年6月14日

《斯坦福大学:编程范式》第二节:基本数据类型在内存中的二进制表达

摘要: 我们以C/C++为例。 基本数据类型有: bool 1 byte char 1 byte 256个字符,其中75个字符是常用的 short 2bytes int 4bytes long 4bytes float 4 bytes double 8 bytes bytes 1 bytes(字节) = 8 阅读全文

posted @ 2018-06-14 01:37 百无禁忌 阅读(307) 评论(0) 推荐(0) 编辑

《斯坦福大学:编程范式》第一节:常见的几种范式

摘要: 常见编程范式: C 面向过程,命令式编程,调用函数 main 函数调用更下层函数,一直嵌套调用。 进行内存操作更容易。 Assambly 汇编,面向二进制/寄存器 C++ 1.指针,引用的“副作用” 2.面向对象,更注重数据的变化,函数之间对象的传递。 Concurrence Programme 并 阅读全文

posted @ 2018-06-14 01:17 百无禁忌 阅读(2328) 评论(0) 推荐(0) 编辑

2018年6月11日

《渲染管线研究》:1.渲染管线示意图

摘要: 一、 3D图形渲染(Rendering) 渲染:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景。过程:几何变换、光栅化、着色。 顶点渲染单元(Vertex Shader):根据描述3D图形外观的三角形顶点数据确定3D图形的形状及位置关系; 作几何变换、 阅读全文

posted @ 2018-06-11 02:39 百无禁忌 阅读(1208) 评论(0) 推荐(0) 编辑

2018年5月22日

《吴恩达机器学习之笔记》第一章.机器学习的应用和定义

摘要: 应用: 1.机器学习与图像识别结合: 比如学习人写的字体:草稿、支票、邮件地址。 对照片分类:识别出人的头像,并识别出是同一个人。 2. 数据挖掘 下棋AI:比编写它的程序员更会下棋。 根据机器学习来挖掘数据,更好的理解用户,服务用户。 根据大数据预测医疗记录和疾病之间的关系。 3.自然语言处理 反 阅读全文

posted @ 2018-05-22 01:57 百无禁忌 阅读(147) 评论(0) 推荐(0) 编辑

2018年5月12日

Unity的极致内存优化

摘要: 之前做了一个moba游戏,需要对项目做极致的内存优化。 我们知道,AssetBundle有Unload(true) 和Unload(false)两种做法。 一些常规做法就不说了, 比如统计资源的出生死亡频率/时常,来设置资源的回收频率。 比如,决定资源缓存到哪个级别:实例、预制体、主AssetBun 阅读全文

posted @ 2018-05-12 01:29 百无禁忌 阅读(238) 评论(0) 推荐(0) 编辑

2018年4月19日

Lua用于游戏运行期热更(不重启游戏客户端)

摘要: lua在Unity的热更新中,一般是每次客户端启动的时候检查是否有更新,然后加载。 如果要在运行期热更,跟服务端做不停服热更(比如java 用类构造启动java脚本本身,或者luaJ)是一个道理。 有几个地方: lua 的package.path = package.path ..';C:/User 阅读全文

posted @ 2018-04-19 17:57 百无禁忌 阅读(557) 评论(0) 推荐(0) 编辑

2018年4月14日

Unity游戏移植:tolua适配Webgl平台

摘要: 近期公司的Unity项目为了兼容多端: 安卓/IOS、windows/mac、浏览器。 其中tolua是不兼容webgl。 花了三天时间跑起来。 步骤: 1.替换tolua虚拟机为lua5.1 2.修改部分tolua不兼容代码 3.修改回调为_internal #if !UNITY_EDITOR & 阅读全文

posted @ 2018-04-14 14:49 百无禁忌 阅读(1771) 评论(2) 推荐(0) 编辑

2018年4月10日

LightProbe的本质

摘要: 我们渲染,简单不严谨的分类的话:性能消耗: 像素着色》顶点着色。 动态渲染》静态光照贴图的UV查询(包括天空盒这类反射贴图查询) 而LightProbe本质上是 更简化版的动态顶点着色。 只是包含了极少的光线,然后用这些光线做顶点着色,也可能是平面着色,看Unity的内部实现了。 阅读全文

posted @ 2018-04-10 00:55 百无禁忌 阅读(221) 评论(0) 推荐(0) 编辑

2018年3月7日

软件渲染器之 阴影计算

摘要: 只是记录下思路: 1.在产生灯光的地方虚拟一个阴影摄像机 2.其实跟遮挡剔除一样,生成阴影摄像机的深度图 3.根据深度图判断是否产生阴影 4.(如果该像素能过主摄像机的各种测试)根据阴影颜色混合当前颜色。 注意点: 阴影的深度图要在主摄像机的背面顶点剔除、CVV裁剪之前才准确。 阅读全文

posted @ 2018-03-07 02:43 百无禁忌 阅读(329) 评论(0) 推荐(0) 编辑

导航