您的位置:首页 > 娱乐 > 八卦 > 游戏各个知识小点汇总

游戏各个知识小点汇总

2024/10/5 23:28:16 来源:https://blog.csdn.net/qq_25978293/article/details/142144831  浏览:    关键词:游戏各个知识小点汇总

抗锯齿原理记录

SSAA:把成像的图片放大N倍,然后每N个点进行平均值计算。一般N为2的倍数。比如原始尺寸是1000x1000,长宽各放大2倍变成2000x2000。

举例:

原始尺寸:

放大2倍后

最后平均值计算成像:

MSAA:比起SSAA少了对扩大后采样点的shading。意思就是SSAA原点是红色,放大了4倍4个采样点还是红色并缓存记录MSAA,少了这步直接使用原像素点颜色

少了N-1倍的采样着色性能省了一些,尤其在片源着色器写了大量算法时比较明显。

计算采样点的颜色比重拿三角形覆盖扩大后的采样点质心来获取。

摘自:

https://www.zhihu.com/question/654069556/answer/3478445466

内存对其

内存对齐是cpu为了更快内存访问速度而设计,可以一次取N个字节而不是1个1个字节取。

测试:

如果没有内存对其,a是8个字节,c是4个字节总共12个字节。因为有对其,所以8个占了一块,另外一块也得是8,所以变成了这样

那我在加上一个1个字节的char b

由于c是4个字节未占满8个字节所以b会继续利用剩下的字节去填满。结果还是16

增加alignas 可设置块的大小。但这个设置必须大于内含元素最大字节。

使用方式:

强行改成4个字节报错

正则表达式Regex用法和常见的匹配

以C#为例:

这里有几个()就多出个组。因为有3个()分别是(version:),([1-9]\\d{3}),([.]) 加上自身就是4组。

正则规则不细说了,看看就会了。

记录一些常用的:

//匹配任意数字
Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
//匹配正整数
Regex.IsMatch(value, @"^[0-9]+$");
//匹配身份证号
Regex.IsMatch(value, @"^([1-9]\d{5})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$");
//匹配国内电话号
Regex.IsMatch(value, @"^1[3-9]\d{9}$");
//密码 必须包含一个大写字母一个小写字母一个数字一个符号 且大于8位
Regex.IsMatch(value, @"(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@\#$%^&\*\\\(\)])^.{8,}$",RegexOptions.Singleline | RegexOptions.Multiline);
//以.com为结尾的邮箱
Regex.IsMatch(value, @"^[A-Za-z0-9]+@[A-Za-z0-9]+(\.com)+$");
//日期 yyyy/mm/dd 但没有判断月份和日期的准确性
Regex.IsMatch(, @"^\d{4}/(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])$");
//匹配汉字
Regex.IsMatch(value, @"^((?![\u3000-\u303F])[\u2E80-\uFE4F]|\·)*(?![\u3000-\u303F])[\u2E80-\uFE4F](\·)*$");
//url地址
Regex.IsMatch(value, @"^(?:(http|https|ftp):\/\/)?((|[\w-]+\.)+[a-z0-9]+)(?:(\/[^/?#]+)*)?(\?[^#]+)?(#.+)?$");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com