摘要:OpenGL Pipline - 渲染管线 顶点数据的输入: 送入到渲染管线的数据包括顶点坐标、纹理坐标、顶点法线和顶点颜色等顶点属性。需要在绘制指令中传递相对应的图元信息。常见的图元包括:点(GL_POINTS)、线(GL_LINES)、线条(GL_LINE_STRIP)、三角面(GL_TRIAN 阅读全文
posted @ 2020-09-10 15:58 cancantrbl 阅读(856) 评论(2) 推荐(1) 编辑
摘要:遇到了需要做动态水波效果的需求,类似下图 1. 最简单最naive的是只用一张水波图 将这个图片挂在一个有mask组件的父节点上,这个父节点可以挂一个圆形的图当做遮罩。注意这个水波图的宽度一定要比圆形的直径长。 用代码控制水波图的左右移动,来做水流波动的效果,进度条的位置通过调整其y轴的大小。 这种 阅读全文
posted @ 2021-06-14 20:27 cancantrbl 阅读(96) 评论(0) 推荐(0) 编辑
摘要:最近在做签字笔的效果,最初用linerender直接几个点连成一条线的效果并不是很好,特别是当拐弯的时候会有缺口。想要拐弯处变得圆滑起来,决定采用Bezier curve。 定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 由 P0 至 P1 的连续点 Q0,描 阅读全文
posted @ 2021-05-17 22:38 cancantrbl 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1. 解释器 - 给定一个语言,定义他的文法的一种表示,再设计一个解析器来解释语言中的句子 直男总是猜不透女生的话语中的真正意思,这时候就非常需要一个女友语句解释器了。直男是客户端,女生的说话内容是信息(context),首先需要个抽象翻译器是AbstractExperssion,再有多个继承于翻译 阅读全文
posted @ 2021-05-16 23:33 cancantrbl 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1. 观察者 - 定义对象间一种一对多的依赖关系,当一个对象发生改变时,所有依赖于它的对象都得得到通知并被自动更新 就像订阅淘宝团购通知一样,当客户订阅了开团通知,团购发布者会把这个客户添加到订阅者列表里,一旦团购状态发生改变了,所有订阅了开团通知的客户都会自动收到开团通知 2. 模板 - 定义一个 阅读全文
posted @ 2021-05-16 18:56 cancantrbl 阅读(20) 评论(0) 推荐(0) 编辑
摘要:最常见的UV用法是用给mesh添加材质用UV贴图:Albedo mpa是一个纹理贴图,用来表示一个材质球的基本颜色。Mesh往往是一个三维物体,我们需要知道如何将只有长和宽2个维度的纹理投射到mesh的三角形上。我们可以通过向顶点添加二维纹理坐标来完成。UV就是将图像上每一个点精确对应到模型物体的表 阅读全文
posted @ 2021-05-13 22:37 cancantrbl 阅读(75) 评论(0) 推荐(0) 编辑
摘要:1. 适配器模式 - 能使接口不兼容的对象能够相互合作 去美国或者欧洲旅游会发现他们的电源插座和国内插头是不同的,这个时候带上充电头适配器这样去哪里都没问题了 充电头作为一个通用对象,在欧洲插座,有继承于充电头的欧洲插头,有继承于充电头适配器。适配器会将电流适配成国内充电头可以支持的电流,这样国内充 阅读全文
posted @ 2021-05-12 23:16 cancantrbl 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1. 抽象工厂 - 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 假如你和你朋友要装修新房,要去家具公司制定所需的家具,你跟家具公司说要椅子,家具公司会根据客户的需求配置一整套家具,包括椅子,沙发,餐桌等等。这种情况下你不需要知道家具工厂里是创建什么风格家具的,你只需要跟家具公 阅读全文
posted @ 2021-05-11 23:07 cancantrbl 阅读(8) 评论(0) 推荐(0) 编辑
摘要:逻辑和UI表现要分开,逻辑不能依赖于UX 逻辑和数据保存要分开 客户端传给服务端的数据只能是简单数据并且要越少越好,用lua传整个table给服务端直接崩掉。为什么会崩掉,因为序列化会导致内存overflow。 GM指令是用于开发测试作弊指令 Scrollview的子件不能用sretch结构,因为s 阅读全文
posted @ 2021-05-10 23:07 cancantrbl 阅读(17) 评论(0) 推荐(0) 编辑
摘要:using System放在最前面 package name 按字母顺序排序 access field 要加上,不管是不是默认的private bracket需要在单独的一行 public的方法要在private的前面 引用自身的方法或者参数都要加this. 待更新... 阅读全文
posted @ 2021-05-10 22:58 cancantrbl 阅读(13) 评论(0) 推荐(0) 编辑
摘要:最近做功能,从表里随机取十个不重复的任务作为每周任务,想到有几种方法可以实现: 1. 比较Naive,从数组中随机取一个数据,再放入新的数组,取完一个数据从原始数组中删除,然后在放入新数组的时候判断是否已添加过。 -- Pseudocode function getRandomNum(n) { va 阅读全文
posted @ 2021-05-10 22:44 cancantrbl 阅读(51) 评论(0) 推荐(0) 编辑