Amp

08VulKan——描述符布局、缓冲、描述符池和描述符集

做~自己de王妃 提交于 2020-08-08 10:08:56
整体思想: 对于一些所有顶点都共享的属性,比如顶点的变换矩阵,将它们作为顶点属性为每个顶点都传递一份显然是非常浪费的 。VulKan提出使用资源描述符解决这种全局变量, 描述符是用来在着色器中访问缓冲和图像数据的一种方式。可以将变换矩阵存储在一个缓冲中,然后通过描述符在着色器中访问它 。 描述符的使用由三部分组成: 1.在管线创建时指定描述符的布局结构 2.从描述符对象池中分配描述符集合 3.在渲染阶段绑定描述符集合 总之: descriptor:是特殊的不透明的 shader 变量,用来以间接方式访问缓冲区和图像资源。它可以被认为是指向某个资源的“指针” ; 描述符布局(descriptor layout):指定了管线访问的资源的类型; 描述符集合(descriptor set):指定将绑定到描述符的实际缓冲区或映射资源,描述符集合会像顶点缓冲区和帧缓冲区一样被绑定到绘制命令; 描述符池: 描述符集合不能直接创建,它们必须像命令缓冲区一样,从对象池中分配使用。对于描述符集合相当于调用描述符对象池 。 顶点着色器与descriptor之间的绑定关系: shader 用着色器语言显式地引用这些 descriptor。 例如,在GLSL里: layout ( set =M, binding=N) uniform sampler2D variableNameArray[I]; M 指在

php 图片压缩

妖精的绣舞 提交于 2020-08-08 09:49:18
注: 代码取自网上 1.依赖 php 扩展 php-imagick 2.压缩原理: 1)读取图片内容,对图片进行裁剪或者缩放; 2)再转化为jpg(jpeg)进行数据量压缩:jpg(jpeg)都支持压缩率(GD库也支持) /** * @param $image string 图片内容file_get_contens stream_get_contens * @param $width int 图片宽 阈值 * @param $height int 图片高 阈值 * @param $crop bool 如果图片宽或者高度超过上面的阈值,将进行 true:裁剪 false 缩放 * @return array [string, 'jpg'] 正常返回处理后的图片内容,可以直接存为jpg */ function custom_resize($image, $width, $height, $crop = false) { try{ $imagick = new Imagick(); $imagick->readImageBlob($image); $w = $imagick->getImageWidth(); $h = $imagick->getImageHeight(); if ($w > $width || $h > $height) { if ($crop) {//裁剪

C++ 类型系统增强

ぐ巨炮叔叔 提交于 2020-08-08 09:40:54
大家应该比较熟悉, C++中可以通过 操作符 typeid来获取类型名称 std::cout << typeid(int).name() << std::endl; 但是这个name()的返回值是 取决于编译器的 ,在vc和gcc中打印出来的结果如下: int // vc i // gcc 对于自定义类,输出的类型,也并不是原始类型 class TestType {}; std::cout << typeid(TestType).name() << std::endl; //vs输出 class TestType 因此, 操作符 typeid的作用就局限于类型输出及类型与类型进行对比, 并不能用于跟字符串对比。 下面我们再看看,容器类型的输出: std::cout << typeid(std::map<std::string, int>).name() << std::endl; 以下将自定义类型处理,对typeid进行封装,简化类型的输出 封装typeid,统一平台输出 template<typename T> std::string getTypeName() { std::string tyName; #if defined(__GNUC__) char* real_name = abi::__cxa_demangle(typeid(T).name(), nullptr,

centos7搭建redis集群

陌路散爱 提交于 2020-08-08 09:39:26
搭建环境 系统: centos 7.4 服务器金山云 安装ruby环境 [root@jsy-bj-test00 ~]# yum install -y ruby rubygems 复制6份redis服务 [work@jsy-bj-test00 ~]$ cp -rp redis redis1 [work@jsy-bj-test00 ~]$ cp -rp redis redis2 [work@jsy-bj-test00 ~]$ cp -rp redis redis3 redis配置文件修改 #六个节点需做如下更改 [work@jsy-bj-test00 ~]$ vim redis1/etc/redis.conf [work@jsy-bj-test00 ~]$ sed -i 's/port 6379/port 6380/g' redis5/etc/redis.conf #修改端口 port 6380 #打开注释,开启集群模式 cluster-enabled yes #集群的配置文件 cluster-config-file nodes-6380.conf [work@jsy-bj-test00 ~]$ sed -i 's/cluster-config-file nodes-6379.conf/cluster-config-file nodes-6380.conf/g' redis5/etc

百度NeurIPS全球顶会冠军团队,带你7日从零实践强化学习

若如初见. 提交于 2020-08-08 09:38:26
如今,强化学习不仅成了学术界的宠儿,相关研究论文在各大顶会中的比例飞速上升;也在不断挑战冠军,突破记录,成为了AI开发的热门领域,比如击败围棋世界冠军的Alpha Go,就引起了大家对AI的广泛关注。 强化学习在游戏中也有很好的表现,比如在《Dota 2》中血虐人类玩家的OpenAI Five,达到《星际争霸 2》人类对战天梯的顶级水平的AlphaStar ,也刷新了人们对强化学习的认知。 强化学习能挑战众多世界冠军 人类亦能利用强化学习成为冠军! NeurIPS ,神经信息处理系统大会,是一个关于机器学习和计算神经科学的国际会议,被认为是机器学习领域的顶级会议之一。 2018 年,首次参加NeurIPS强化学习赛的百度大脑NLP技术团队一举击败众多强劲对手,以9980分的成绩夺得冠军,领先第二名由“RNN之父”Juergen Schmidhuber 创立的NNAISENSE团队30多分。 2019 年,在NeurIPS强化学习赛上,百度再度夺得冠军,大幅领先第二名143分。 百度在人工智能的研究和应用领域不断建树,还致力于培养与选拔最具有核心竞争力的AI人才,帮助更多开发者进入强化学习这一领域。今天,连续两届获得NeurIPS全球顶会赛事冠军团队首次下场,亲自授课, 带领大家从零实践强化学习! 打卡营采用 全程的直播+答疑+比赛的学习模式,7天时间里每日直播打卡学习、配合实战PK

ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)

两盒软妹~` 提交于 2020-08-08 07:51:14
思路 粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法。而ABAQUS软件是经常用来进行结构响应分析的有限元软件。下面介绍一种在ABAQUS中实现粘弹性边界及地震荷载施加的方法。 粘弹性边界是通过在有限元模型的地基边界节点上施加弹簧阻尼器实现的,在ABAQUS中的实现有以下几种方法:第一种,通过ABAQUS自有的弹簧单元spring单元和阻尼单元dashpot实现,具体的单元参数可以参考文献[1],这种较为精确;第二种是通过ABAQUS的UEL子程序实现,可以看下文献[2];还有一种是等效单元替代的方法,就是在地基周围加一层单元,然后设置近似的材料参数,参考文献[3],这一种精度较差,但实现起来较为简单。我采用的是第一种方法,但操作起来较为繁琐,具体程序及过程后面介绍。 采用粘弹性边界,其配套的地震荷载输入方法就是在已知输入地震位移和速度的情况下,计算各个时刻地基边界各个结点上应当施加的集中力荷载,然后施加荷载,一步一步的进行计算。地震荷载的施加在ABAQUS中也有两种不同的思路,文献[2]中的方法是通过ABAQUS的DLOAD和UTRACLOAD两个子程序实现。DLOAD子程序用于施加边界面的法向荷载,UTRACLOAD用于施加边界面的切向荷载。而文献[1

MongoDB经典故障系列六:CPU利用率太高怎么办?

让人想犯罪 __ 提交于 2020-08-08 07:43:04
每逢电商大促,全民狂欢,但热闹是属于疯狂剁手的人们。而开发者们有的缺是“高流量、高访问、高并发”三高下带来的种种问题。为了应对大促期间的高I/O情况,企业会选择MongoDB云数据库应对。可是,在使用MongoDB云数据库的时候,可能经常遇到一个问题:MongoDB CPU利用率很高,都快跑满了,这该怎么办?别担心,我们有菊长呢。你看,菊长来了… 我们下期见。。。 点击关注,第一时间了解华为云新鲜技术~ 来源: oschina 链接: https://my.oschina.net/u/4526289/blog/4340098

leetcode680(验证回文字符串II)--C语言实现

馋奶兔 提交于 2020-08-08 05:49:50
求: 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: True 解释: 你可以删除c字符。 注意: 字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。 解: 思路:这是判断是否是回文字符串的变式。通过分析可以得到,符合题目要求的情况包括: 1、字符串本身就是一个回文字符串 2、字符串不是回文字符串,根据题目定义,一定是回文字符串中掺入了一个字符,导致不是回文,如果字符出现在前面,举例如asbcba。或者字符出现在后面,举例如abcbsa,不管是哪种,剩余的字符串bcb都是回文字符串。因此我们保留回文判定函数,当第一次在源字符串中出现字符判定不相等时,传入子串的起止位置,判定剩下的子串是否是回文字符串即可。 bool isPalindrome( char * s, int start, int end){ while (start<end && s[start]==s[end]){ ++start; --end; } return start>=end; } bool validPalindrome( char * s){ int i,j; for (i= 0 ,j=strlen(s)- 1 ;i<j;){ if (s[i]==s[j]){ ++i; -

php实现SSO单点登录实例

旧时模样 提交于 2020-08-08 05:49:13
1、点击登录跳转到SSO登录页面并带上当前应用的callback地址 2、登录成功后生成COOKIE并将COOKIE传给callback地址 3、callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录 4、再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态 1 <?php 2 //index.php 应用程序页面 3 header ( 'Content-Type:text/html; charset=utf-8' ); 4 $sso_address = 'http://www.c.com/sso_login.php' ; //你SSO所在的域名 5 $callback_address = 'http://' . $_SERVER [ 'HTTP_HOST' ] 6 . str_replace ( 'index.php' , '' , $_SERVER [ 'SCRIPT_NAME' ]) 7 . 'callback.php' ; //callback地址用于回调设置cookie 8 9 if ( isset ( $_COOKIE [ 'sign' ])) { 10 exit ( "欢迎您 { $_COOKIE['sign'] } <a href= \" login.php?logout \" >退出</a>" ); 11 } else

红榜丨第六期京东智联云培训&认证课程

爱⌒轻易说出口 提交于 2020-08-08 05:10:15
首先恭喜大家顺利完成了我们的培训与认证课程! 上了红榜的小伙伴现在可以在后台回复 【红榜】 解锁社区神秘周边礼包哦~ 对课程感兴趣小伙伴/已报名的小伙伴都可以扫描下方二维码进入我们的学习群 不仅有小伙伴每天陪你一起学习、进步,我们的小助手还会定期在群里为大家发放考试模拟题哦~ 为了帮助想学习云计算相关产品及实操的小伙伴提升知识储备、锤炼专业技术、提高就业竞争力,去年年底我们推出了 【京东智联云培训&认证】 课程,针对从业人员或希望进入云行业人员的专业性技能进行培训与认证。 目前我们拥有 京东智联云云计算助理工程师认证(JCA) 及 京东智联云云运维助理工程师认证(JCA) 为京东智联云云基础产品用户和运维人员提供专业技术认证。该项认证内容包括京东智联云的计算服务、网络服务、存储服务及安全等方面的核心产品,是对从业人员或希望进入云行业人员的专业性技能认证。 目前,除上述两门课程外,我们刚全新上线了一门专项认证课程: 针对专有云平台京东智联云产品实施人员及运维人员提供的专业技术认证,该项认证内容包括京东智联云专有云交付,管理和运维等方面的内容,协助学习者学习基于专有云平台京东智联云产品的交付部署能力和产品运维能力。 课程内容包括 JD Cloud Stack, Swift, Mesh 的全面产品介绍及解决方案。 通过认证,可帮助学习者提升对专有云的理解