摘要: 协程(协同程序): 同一时间只能执行某个协程。开辟多个协程开销不大。协程适合对某任务进行分时处理。 线程: 同一时间可以同时执行多个线程。开辟多条线程开销很大。线程适合多任务同时处理。 参考:https://www.cnblogs.com/dixiaodiaohome/p/14157395.html 阅读全文
posted @ 2021-10-14 19:34 小帆敲代码 阅读(407) 评论(0) 推荐(0) 编辑
摘要: c/c++函数调用约定 1、函数调用约定一般规定如下三个方面: 1)函数参数的传递顺序和方式; 2)栈的维护; 3)名字修饰的策略。 2、常见的函数调用约定方式: 调用约定 出栈方式 参数传递 名字修饰 cdecl 函数调用方 从右至左的顺序压参数入栈 下划线+函数名 stdcall 函数本身 从右 阅读全文
posted @ 2021-10-14 19:29 小帆敲代码 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 因为参数是从右向左入栈的,那么也就是说如果知道最左边的起点以及类型就可以实现变长参数 阅读全文
posted @ 2021-10-14 19:20 小帆敲代码 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 参考: https://www.iteye.com/blog/dsqiu-2029701 https://www.cnblogs.com/zblade/p/9857808.html 关键词 IEnumerator public interface IEnumerator { bool MoveNex 阅读全文
posted @ 2021-10-14 18:34 小帆敲代码 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 分析 void(*)()是一个函数指针 *(void(*)())0是说取0这个地址的函数 (*(void(*)())0)()表明函数调用 阅读全文
posted @ 2021-10-14 18:02 小帆敲代码 阅读(177) 评论(0) 推荐(0) 编辑
摘要: ##什么是函数指针 如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。 ##那么这个指针变量怎么定义呢? 虽然 阅读全文
posted @ 2021-10-14 17:57 小帆敲代码 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 在C/C++语言中,有时需要在同一段内存单元中存放不同类型的变量,如把一个整形变量int、一个字符型变量char和一个双精度实型变量double放在同一个地址开始的内存单元中,这3个变量虽然在内存中占的字节数不同,但都从同一地址开始,使用覆盖技术,后一个数据覆盖了前面的数据。这便是联合体union( 阅读全文
posted @ 2021-10-14 17:53 小帆敲代码 阅读(530) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/qq_39382769/article/details/102441699 阅读全文
posted @ 2021-10-14 17:45 小帆敲代码 阅读(21) 评论(0) 推荐(0) 编辑
摘要: MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View 主要负责显示数据 Controller 控制器作用于模型和视 阅读全文
posted @ 2021-10-14 17:32 小帆敲代码 阅读(120) 评论(0) 推荐(0) 编辑
摘要: static static局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中 static 全局变量 表示一个变量在当前文件的全局内可访问 static 函数 表示一个函数只能在当前文件中被访问 static 类成员变量 表示这个成员为全类所 阅读全文
posted @ 2021-10-14 17:22 小帆敲代码 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 光照模型 一般分为镜面反射+环境光(间接反射)+高光 要注意的是这都是针对于一个Shader Point来说的 Phong模型,对应计算的数学公式如下 Phong模型计算镜面反射使用V(顶点到视点的观察方向)和反射光线的夹角 和 Blinn-phong 模型,对应计算的数学公式如下 Blinn-ph 阅读全文
posted @ 2021-10-14 17:07 小帆敲代码 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 第一种:重复寻址模式(Wrap),最常见的模式,四方连续贴图可以无限延展就是用的这种算法,即超过1之后重复0到1地址。 第二种:边框寻址模式(Border Color),坐标越界后,返回的颜色为给定的颜色值。 第三种:钳位寻址模式(Clamp),最边缘像素拉伸的效果,即取离[0, 1]范围最近的坐标 阅读全文
posted @ 2021-10-14 16:57 小帆敲代码 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 可以将它理解为一个流程:数据=>二维图像 功能 渲染管线的功能是通过给定虚拟相机、3D场景物体以及光源等场景要素来产生或者渲染一副2D的图像。 图形渲染管线主要包括两个功能:一是将物体3D坐标转变为屏幕空间2D坐标,二是为屏幕每个像素点进行着色。 渲染管线的一般流程如下图所示。分别是:顶点数据的输入 阅读全文
posted @ 2021-10-14 16:16 小帆敲代码 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 指针 指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元; 引用:跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。 区别 引用不可以为空,当被创建的时候,必须初始化,而指针可以是空值,可以在任何时候被初始化。 指针可以有多级,但是引用只能是一级(int **p 阅读全文
posted @ 2021-10-14 16:07 小帆敲代码 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 匿名函数就是没有名字的函数。有一些函数只是临时用一下,而且业务逻辑也比较的简单,相当于是临时工,就没必要给它定义成一个正常函数(包含有函数名,很正式的那种)。使用临时的匿名函数,可以减轻函数的数量,让代码变的清晰易读。 C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式) 阅读全文
posted @ 2021-10-14 16:02 小帆敲代码 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 一个由c/c++编译的程序占用的内存分为以下几个部分: 栈区 由编译器自动分配释放,存放函数的参数值,局部变量的值等。 堆区 一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收。 全局区(静态区) 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域data段,未初 阅读全文
posted @ 2021-10-14 11:30 小帆敲代码 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 右值引用 右值一般指的是无法用&取到存储地址的。比如常量10 那么我们可以使用&&来获得右值 int &&j=10; int e=10; int &&j=e;//错误,因为e是左值 移动构造函数 #include <iostream> using namespace std; class demo 阅读全文
posted @ 2021-10-14 11:22 小帆敲代码 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 状态同步就是战斗逻辑在服务器端,然后客户端就像一个表现层。 帧同步就是战斗逻辑主要在客户端,服务器只用来转发操作。 安全性上,肯定是服务器端好一点,因为不好攻击服务器。 阅读全文
posted @ 2021-10-14 10:10 小帆敲代码 阅读(249) 评论(0) 推荐(0) 编辑