学习笔记
文章平均质量分 77
轻纱罗幔细柳腰
这个作者很懒,什么都没留下…
展开
-
Cocos Creator ScrollView 优化系列-1-分帧加载
本系列教程指引: Cocos Creator ScrollView 优化系列-1-分帧加载 Cocos Creator ScrollView 优化系列-2-可视区域渲染 Cocos Creator ScrollView 优化系列-3-复用实现(待续) Cocos Creator ScrollView 优化系列-4-合批优化(待续) 本项目中所有图示、代码都在Github仓库中,如果需要运行验证,可直接拉下项目即可,不用自己手撸代码验证 ????????https://github.com/z转载 2020-10-29 11:10:35 · 1050 阅读 · 0 评论 -
HTTPS 证书校验
最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbosehttps://你的域名 PASS 符合要求 输出满足 ATS 的证书 openssl s_client -connect 你的域名:443</dev/null 2>/dev/null | openssl x509 -outform DER > https.cer 1. 针对 AFNetWorking ..转载 2020-08-12 10:27:52 · 707 阅读 · 0 评论 -
Cocos2d-lua 初识shader之三:模糊
原理:遍历当前像素点周围的部分像素点,累加它们的rgba,根据距离设置权重并相乘,最后再根据总权重获取该总和的平均值,将该平均值设置为当前像素点的颜色。 local vert = [[ attribute vec4 a_position; attribute vec2 a_texCoord; attribute vec4 a_color;...转载 2019-01-24 16:43:41 · 759 阅读 · 0 评论 -
Cocos2d-lua 初识shader之四:描边
原理:对于所有透明的像素点,遍历该像素点周围的所有像素点,当有任意一个像素点非透明时,就将该像素点置为描边颜色。 PS.在网上读到一位前辈写的方法是“遍历所有不透明的像素点四周,当有透明像素点时,将该像素点设置为描边颜色”(思路相反),这样的做法会有些缺憾,结尾会放出比较图。 local vert = [[ attribute vec4 a_position; ...转载 2019-01-24 16:44:25 · 368 阅读 · 0 评论 -
图元装配和光栅化
在顶点着色器处理图元顶点之后进入图元装配阶段。这一阶段,执行裁剪、透视分割和Viewport变换操作。 光栅化是将图元转换为一组二维片元的过程。片元由片元着色器处理,代表可以在屏幕上绘制的像素。 一、图元 图标是一组表示顶点位置的顶点描述,是可以用OpenGLES 中的glDrawArrays、glDrawElements、glDrawRangeElements、GLDrawArraysIn...转载 2019-07-23 11:04:53 · 347 阅读 · 0 评论 -
Hadoop学习心得一
浅语:我们学习一门心得技术,肯定好奇它为什么应运而生,因此了解它的背景十分重要。它能解决什么才是它的优势。技术都有过时的时候,不过时的是我们使用手中的技术创造新的技术 1、现状:新时代的数据格式多样化,视频,音频,图像等非结构化的数据,传统数据库无法存储,多样化的数据格式,关系型数据库无法建表 如何解决传统数据库的存储问题?答案是文件存储。把网站的TB级以上数据量保存在一个文件里,通过对文件读...原创 2019-08-05 15:33:48 · 7767 阅读 · 0 评论 -
Hadoop学习心得---二
大数据运算解决方案MapReduce Hadoop的分布式计算模型MapReduce,最早是Google提出的,主要用于搜索领域,解决海量数据的计算问题。MapReduce有两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算 以统计某个文件中Deer、Car和 Bear三个单词的数量为例,如下图,来说明MapReduce是如何实现快速高效的...原创 2019-08-05 16:24:49 · 1310 阅读 · 0 评论 -
Linux内存源码分析-内存池
内存池是用于预先申请一些内存用于备用,当系统内存不足无法从伙伴系统和slab中获取内存时,会从内存池中获取预留的那些内存。内存池与特殊slab一样,需要使用的设备需要自己创建内存池,而不是系统会自动生成。书上形容得好,内存比作新鲜食物,内存池比作罐头食物,人比作拥有此内存池的模块,当无法吃到新鲜食物时,就需要打开罐头吃罐头食物。 一般情况下,内存池建立在slab之上,也就是说池子里...转载 2019-08-15 17:35:16 · 414 阅读 · 0 评论 -
纹理压缩简介 DXT PVR ETC
参考为什么需要纹理压缩移动端纹理压缩格式干货:Unity游戏开发图片纹理压缩方案Creator使用压缩纹理常用纹理和纹理压缩格式移动设备的纹理压缩方案各种移动GPU压缩纹理的使用方法 一、DXT PVR ETC 在软件开发,特别是三维应用中,纹理随处可见,但受限于网络环境和硬件能力,纹理也是一大瓶颈。而且在一般的三维应用中,纹理所占大小基本都会在1/2以上,模型中往往超过2/3。或许你会说,纹...转载 2019-09-27 15:47:46 · 3295 阅读 · 0 评论 -
OpenGL 图形库的使用(十二)—— 光照之基础光照
版本记录 版本号 时间 V1.0 2017.10.30 前言 OpenGL 图形库项目中一直也没用过,最近也想学着使用这个图形库,感觉还是很有意思,也就自然想着好好的总结一下,希望对大家能有所帮助。1. OpenGL 图形库使用(一) —— 概念基础2. OpenGL 图形库使用(二) —— 渲染模式、对象、扩展和状态机3. OpenGL 图形库使用(三) —— 着色器、...转载 2019-09-27 15:49:08 · 386 阅读 · 0 评论 -
Cocos2d-lua 初识shader之一:置灰
一、什么是shader shader译名为着色器,通俗来说,shader告诉电脑如何使用一种特殊的方式绘制物体。shader分为三种:顶点着色器、片段着色器、几何着色器。 顶点shader:3D图形都是由一个一个三角形组 成的,顶点shader就是计算顶点位置,并为后期像素渲染做准备的 片段shader:是以像素为单位,计算光 照、颜色的一系列算法。 二、Cocos中...转载 2019-01-24 16:42:42 · 466 阅读 · 0 评论 -
基于cocos2d-lua的shader入门玩转
我这里讲的shader是什么呢,通俗讲就是是获得图片的像素和操作图片的像素 比如我的原本颜色是这样的: wo.png void main() { vec4 mycolor = v_fragmentColor*texture2D(CC_Texture0, v_texCoord); //我的颜色.rgb就是这张图片的每个像素点的值,我的颜色.a就是这张图的透明度 ...转载 2019-01-24 15:04:58 · 413 阅读 · 0 评论 -
UpdateData、Invalidate、InvalidateRect和UpdateWindow及RedrawWindow
UpdateData、Invalidate、InvalidateRect和UpdateWindow及RedrawWindow Invalidate 在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。 窗口的客户区无效意味着需要重绘。例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。 理论:这时Windows会在应用转载 2014-11-26 15:37:00 · 445 阅读 · 0 评论 -
WS_CLIPCHILDREN与WS_CLIPSIBLINGS
WS_CLIPCHILDREN与WS_CLIPSIBLINGS 英文单词解释 clip:夹子、子弹夹、回形针;夹住,修剪 sibling:同胞兄弟或姐妹 overlapped:重叠 这两个Window Stype的特性与异同素来不太清楚,今日作一笔记: MSDN的解释为: WS_CLIPCHILDREN Excludes the area occupi转载 2014-11-27 13:18:42 · 441 阅读 · 0 评论 -
C++new
当写出 p = new P(); 这样的代码的时候, 实际上有两步操作, 首先分配内存, 然后在分配好的内存之上初始化类成员. 第二步是有构造函数完成的, 第一步就是new函数的工作. 全局的new有六种重载形式, void *operator new(std::size_t count) throw(std::bad_alloc);转载 2014-12-04 12:35:57 · 562 阅读 · 0 评论 -
c++ 中__declspec 的用法
c++ 中__declspec 的用法 语法说明: __declspec ( extended-decl-modifier-seq ) 扩展修饰符: 1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。 e.g __declspec(align(32)) struct Str1{转载 2014-12-04 15:35:10 · 386 阅读 · 0 评论 -
动态分配资源的自动释放 – auto_ptr的实现原理
动态分配资源的自动释放 – auto_ptr的实现原理 2010-02-08 02:41:42| 分类: C/C++ | 标签: |举报 |字号大中小 订阅 动态分配资源的自动释放的英文是 Resource Allocation In Initialization,通常缩写成RAII。 根据《C++ Primer》第4版:转载 2014-12-05 15:42:19 · 388 阅读 · 0 评论 -
记住上次遍历文件夹时的路径,递归遍历目录下的文件
1、浏览文件夹并记住上次选择目录 static TCHAR szDir[MAX_PATH] ; int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData) { LPITEMIDLIST tmp = (LPITEMIDLIST)lParam; switch (uMsg) { case原创 2015-03-27 17:44:24 · 621 阅读 · 0 评论 -
将Cocos2dx 3.4 嵌入到MFC中
前言: 目的是创建一个mfc的工程,然后在其中使用cocos2dx的引擎实现绘图功能。 1、创建一个cocos2dx工程,cocos new -l cpp 2、在其中添加一个MFC的工程,如下图CocosMFC是一个MFC工程,路径如图所示(尽量按照这个路径,因为后面要使用它)MFCDemo是一个cocos2dx生成工程。 咱们仿照MFCDemo这个工程来让CocosMFC这个工程能调用原创 2015-04-03 13:33:38 · 1836 阅读 · 2 评论 -
Cocos2d-x像素级触摸处理
最近研究了一下像素级的触摸处理,有时候我们用一个不规则的图形作为一个按钮,这个不规则的图形是一张矩形的png图片,很可能图片的实际有效的显示内容只占整个png图片的很小一部分,剩下的大部分都是png图片的透明区域,我们想把这部分透明区域过滤掉,实现一个触摸到真实的内容才会有按钮响应的效果。 刚开始试图通过CCSprite直接获取到纹理的像素信息,但是Cocos2d-x并没有给我们转载 2016-03-15 14:22:55 · 540 阅读 · 0 评论 -
顶级NPC寻路方法
NPC寻路也是个老生常谈的话题了,但是一说到NPC寻路,可能就有人迷茫了:哥们儿你说的寻路是什么意思?怎么个寻法?举个例子好不好?寻路这个词是游戏开发中专用的,映射到大家课本上学到的知识点,就是图(数据结构中的图结构)中两点之间的路径。这个路径不是特指最短路径,但它就专门指的就是图中两点之间的路径。1.NPC有聪明也有笨的,聪明的NPC在玩家放大招的冷却时间内会找到一个最短路径直冲玩家去攻击。一个...转载 2018-04-26 10:12:40 · 1171 阅读 · 2 评论 -
Boost学习------函数对象
这次主要介绍的是函数对象,可能称为“高阶函数”更为适合。它实际上是指那些可以被传入到其它函数或是从其它函数返回的一类函数,在C++中高阶函数是被实现为函数对象的。本文将会介绍几个用于处理函数对象的Boost C++库。 其中,Boost.Bind可替换来自C++标准的著名的 std::bind1st() 和 std::bind2nd() 函数,而 Boost.Function则提供了一转载 2014-11-20 13:59:02 · 554 阅读 · 0 评论