介绍swoft中 1.Task 2.协程 一:Task任务: 1.配置,在 app/bean.php文件中加入 'httpServer' => [ // ... 'on' => [ SwooleEvent::TASK => \bean(TaskListener::class), // Enable task must task and finish event SwooleEvent::FINISH => \bean(FinishListener::class) ], /* @se…
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建列表三种方式:1.member = ["zdz","liufeng","hots"],2.number = [1,2,3],#3.混合型 mix = [1,'zdz',3.12,[1,2,3]] 4.空列表 empty = []#向列表添加使用app…
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 切片可以使用make函数来定义,也可以像变量声明一样创建个未指定大小的切片. var x []int = make([]int, 3); y := make([]int, 3); z := []int {1, 2, 3}; make有三个参数,第一个是类型(数组类型,所以带方括号),第二个是长度l…
unity3d学习笔记(一) 第一人称视角实现和倒计时实现 1. 第一人称视角 (1)让mainCamera和player(视角对象)同步在一起 因为我们的player是生成的,所以不能把mainCamera直接放到预支对象里,所以我们实现的方法就是让player和camera的相对位置不变 创建脚本 CameraFlow.cs用于控制mainCamera移动,把此脚本挂到mainCamera中, 同时设置mainCamera为刚体,重力为零(不然mainCamera会掉), 而且把mainCa…
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 3. 代码 1. 概述 上一篇文章<Unity3D学习笔记1--绘制一个三角形>中介绍了Unity3D的HelloWorld--绘制一个简单的三角形.不过这个三角形太简单了,连材质都没有.那么这里就将三角形扩展为一个矩形的面,并且为这个面贴上纹理. 2. 详论 2.1. 网格(Mesh) 前面说…
目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. 渲染状态(RenderSetup) 2.2.3.3. 通道(Pass) 2.2.4. 回退(FallBack) 2.3. 渲染管线 1. 概述 在上一篇文章<Unity3D学习笔记2--绘制一个带纹理的面>中介绍了如何绘制一个带纹理材质的面,并且通过调整光照,使得材质生效(变亮).不过,上篇文章隐藏了…
目录 1. 概述 2. 详论 3. 其他 4. 参考 1. 概述 在文章Unity3D学习笔记2--绘制一个带纹理的面中使用代码的方式创建了一个Mesh,不过这套接口在Unity中被称为简单接口.与其相对应的,Unity还提供了一套高级API来创建Mesh. 2. 详论 根据Unity文档的论述,使用高级接口能够得到更高的性能,能够跳过一些验证检查.但是这并不是最关键的,简单接口有个最大的缺点是顶点个数超过65535个时就有问题(至少在2019.4.3f1版本还是这样). 话不多说,直接上代码:…
目录 1. 概述 2. 详论 3. 参考 1. 概述 在之前的文章中说到,一种材质对应一次绘制调用的指令.即使是这种情况,两个三维物体使用同一种材质,但它们使用的材质参数不一样,那么最终仍然会造成两次绘制指令.原因在于,图形工作都是一种状态机,状态发生了变化,就必须进行一次绘制调用指令. GPU实例化用于解决这样的问题:对于像草地.树木这样的物体,它们往往是数据量很大,但同时又只存在微小的差别如位置.姿态.颜色等.如果像常规物体那样进行渲染,所使用的绘制指令必然很多,资源占用必然很大.一个合理的…
目录 1. 概述 2. 详论 2.1. 实现 2.2. 解析 3. 参考 1. 概述 在上一篇文章<Unity3D学习笔记6--GPU实例化(1)>详细介绍了Unity3d中GPU实例化的实现,并且给出了详细代码.不过其着色器实现是简单的顶点+片元着色器实现的.Unity提供的很多着色器是表面着色器,通过表面着色器,也是可以实现GPU实例化的. 2. 详论 2.1. 实现 首先,我们还是挂接与上篇文章一样的脚本: using UnityEngine; [ExecuteInEditMode] p…
目录 1. 概述 2. 详论 2.1. 自动实例化 2.2. MaterialPropertyBlock 3. 参考 1. 概述 在前两篇文章<Unity3D学习笔记6--GPU实例化(1)><Unity3D学习笔记6--GPU实例化(2)>分别介绍了通过简单的顶点着色器+片元着色器,以及通过表面着色器实现GPU实例化的过程.而在Unity的官方文档Creating shaders that support GPU instancing里,也提供了一个GPU实例化的案例,这里就详细…