当前位置: 首页 > article >正文

游戏各个知识小点汇总

抗锯齿原理记录

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]+)(?:(\/[^/?#]+)*)?(\?[^#]+)?(#.+)?$");


http://www.kler.cn/a/309375.html

相关文章:

  • C# 集合与泛型
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • 【C++ 算法进阶】算法提升十三
  • 从0开始学docker (每日更新 24-11-7)
  • windows下qt5.12.11使用ODBC远程连接mysql数据库
  • iOS 18.2 重磅更新:6个大动作
  • web安全测试入门
  • 如何用安卓玩Java版Minecraft,安卓手机安装我的世界Java版游戏的教程
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • 【Webpack--000】了解Webpack
  • 如何查看微信聊天记录?四种实用方法查询微信聊天记录,赶快码住!
  • 分析内存动态加载PE文件
  • 第十一章 【后端】商品分类管理微服务(11.3)——商品管理模块 yumi-etms-goods
  • NLP与文本生成:使用GPT模型构建自动写作系统
  • 建筑机器人通用操作系统设计方案
  • Js中call、apply和bind的区别
  • C语言 | Leetcode C语言题解之第412题Fizz Buzz
  • 鸿蒙开发(NEXT/API 12)【网络连接管理】 网络篇
  • 实现浏览器的下拉加载功能(类似知乎)
  • maven项目下使用Jacoco测试覆盖率
  • vue3使用panolens.js实现全景,带有上一个下一个,全屏功能
  • 风力发电厂智能化转型5G工业路由器物联网应用解决方案
  • 大数据-133 - ClickHouse 基础概述 全面了解
  • C#基础(12)递归函数
  • 测试工程师学历路径:从功能测试到测试开发
  • MUNIK谈ASPICE系列专题分享(六)企业为什么要做ASPICE?