自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 cmake gui not found 的解决办法

很多开源的库 在编写cmake 脚本,由于某种原因,会找不到你自定义安装路径时的一些库,导致configure fail,虽然你的环境变量有库的路径,但是依然找不到,这时候需要手动把这写路径加进去。按截图 把Advanced 选上所有的cmake 变量都会打开找到 not found 的一行,把你的path 添加进去。要是没有,手动 添加这个name 是cmake 报错时的名字Value 时 你的 path...

2020-11-10 00:15:17 2716

原创 webgl2.0 新特性的用途

webgl 2.0 对标 es3.0 ,opengl4.0 设计的,其中包含了一些很有的特性1. VAO vertex array object之前都是用 vbo 来存储顶点数据,创建 ,上传数据时bind一边,draw 时又得来一遍bind, 性能和效率都不高,vao 就相当于一个容器,你bind 这个容器后,再创建 vbo,vao会把当前的vbo 用类似的队列的方式记录每个vbo的 l...

2019-11-25 17:04:15 2725

原创 vulkan 下实现forward 和 deferred 下的MSAA

1.锯齿也叫 走样(Aliasing),我们屏幕的分辨率有限,在光栅插值时三角形的边会从像素里穿过。图片来自 learnopengl2. msaa的原理

2019-08-20 18:03:03 826

转载 C++ const用法 尽可能使用const

原文地址  C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量复制代码1 #include2 using namespace std;3 int main(){4 int a1=3; ///non-con...

2019-03-20 15:22:09 228

原创 vs exe 启动报错 0x000007b的问题

这个问题在我这里因为动态库加载时失败,具体是 64位的程序 引用了32位的动态库,或者32位程序 引用了64位的动态库。这种和代码无关的问题,不易发现,需要在设置细心注意。...

2019-02-15 10:52:14 2176 2

原创 vulkan 中 VkRenderPass 的 使用

vulkan 中 渲染通道创建相对独立 ,不依赖其他的渲染组件。typedef struct VkRenderPassCreateInfo { VkStructureType sType; const void* pNext; VkRenderPassCreateFlags ...

2019-01-07 01:43:40 1564

翻译 vulkan 渲染流水线各个阶段的掩码位

VkPipelineStageFlagBits主要是同步命令包括管道阶段参数,将该命令的同步范围限制为仅那些阶段。这允许对确切的执行依赖性进行细粒度控制和由动作命令执行的访问。实现应该使用这些管道阶段来避免不必要的停顿或缓存刷新。1.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT指定队列最初接收任何命令的管道阶段。2.VK_PIPELINE_STAGE_DRAW_I...

2019-01-04 16:59:10 1532

转载 linux中cat、more、less、tail、head命令的区别

原文地址 https://www.cnblogs.com/cangqiongbingchen/p/5023886.html一、cat 显示文件连接文件内容的工具cat 是一个文本文件(查看)和(连接)工具,通常与more搭配使用,与more不同的是cat可以合并文件。查看一个文件的内容,用cat比较简单,就是cat后面直接接文件名。如:root@ubuntu

2019-01-02 11:25:57 533

转载 抗锯齿的发展

原文地址、MSAA一般是由硬件支持的反走样(anti-aliasing,AA)技术,它在光栅化阶段在一个像素区域内对每个像素使用多个深度采样值,但是每个像素内的这些深度采样值共享一个着色计算,即是每个像素仍然只执行一次fragment shader的计算,然后计算的结果被复制到每个子深度采样点上,这样一个像素内深度测试失败的子采样点将不会包含颜色信息,从而能够更使最终的颜色过渡更平滑。MSAA...

2018-12-23 02:17:19 824

转载 Vulkan Android 设计指南

原文地址Vulkan 与旧版图形 API 的不同之处在于,驱动程序不会为应用执行特定的优化,例如管道重用。 相反,使用 Vulkan 的应用必须自行实现此类优化。 如果不实现,这些应用可能会展现出比运行 OpenGL ES 的应用更差的性能。在应用自行实现这些优化时,它们可能比驱动程序做得更成功,因为它们可以访问给定用例的更多特定信息。 因此,巧妙地优化使用 Vulkan 的应用可以获得比使用...

2018-12-21 23:14:36 1847

原创 vs2017 编译v8

首先准备代理服务器 ,没这个就不要继续了。设置代理的环境变量HTTP_PROXY http://127.0.0.1:1080 `HTTPS_PROXY https://127.0.0.1:1080`设置git 代理git config --global https.proxy http://127.0.0.1:1080git config --global htt...

2018-12-12 21:54:41 1670

原创 用三个顶点坐标填充整个屏幕

1.在应用程序中调用绘制 API ,也就是drawcall我用vulkan ,你用gl 也一样,就是设置顶点数量为3vkCmdDraw(drawCmdBuffers[i], 3, 1, 0, 0);不用创建顶点缓冲区,这样就ok 了。在glsl 的 顶点着色器里 vec2 outUV = vec2((gl_VertexIndex << 1) & 2,...

2018-12-07 18:27:15 773

原创 canvas fillStyle 设置注意点

canvas fillStylefillStyle 设置 和css 相同 ctx.fillStyle = "black" ; 这种的设置方式没有alpha 通道。ctx.fillStyle = "rgba(255,0,0,1)" 这种的设置方式有alpha 通道。...

2018-12-05 17:36:35 4491 2

原创 localstorage 设置过期时间

var exp ={} exp.set=function(id){ var data = localStorage.getItem('cacheOrder'); var curTime = new Date().getTime(); var newItem = {id:id,time:curTime} var list =[] var fla...

2018-04-26 18:26:22 6140

原创 vue中 radio 的诡异现象

两层v-for 时 radio 无法在第一个v-for中选定 <div v-for="(item,index) in tools.property.shit"> <label style="line-height: 36px;" v-if="item.inputType=='单项选择'" v-for="x in item.items" >

2018-04-19 20:03:03 1683

原创 代码被改动 已经pull 找回pull之前的代码

git reflog master --relative-datef16c6ac master@{35 minutes ago}: pull: Merge made by the 'recursive' strategy.3e50b71 master@{35 minutes ago}: commit: sku indexcd539c5 master@{3 hours ago}: pull:...

2018-04-19 19:47:09 1829

转载 util.promisify

Node.js 8 于上个月月底正式发布,带来了 很多新特性 。其中比较值得注意的,便有 util.promisify() 这个方法。util.promisify()虽然 Promise 已经普及,但是 Node.js 里仍然有大量的依赖回调的异步函数,如果我们每个函数都封装一次,也是齁麻烦齁麻烦的,比齁还麻烦。所以 Node8 就提供了 util.promisify() 这个方法,方...

2018-04-16 19:34:03 2230

原创 opengl DrawElements

我在golang里 写的 , 用go来写 opengl 还是很方便的 ,go的opengl库的 GitHub地址 (https://github.com/go-gl) 具体是这个github地址 windows 要装gcc的话, 装mingw-w64管理器就ok了 1. 存储索引数组到gl.BufferDatavar indexs []uint32var veo uint32...

2018-04-10 18:48:19 1123

转载 完全卸载删除gitlab

原文地址 完全卸载删除gitlab1、停止gitlabgitlab-ctl stop2、卸载gitlab(注意这里写的是gitlab-ce)rpm -e gitlab-ce3、查看gitlab进程ps aux | grep gitlab4、杀掉第一个进程(就是带有好多………….的进程)kill -9 18777杀掉后,在ps aux | grep gitlab...

2018-04-06 23:32:08 430

转载 nginx Failed to read PID from file /run/nginx.pid: Invalid argument

nginx 启动失败 原文这里写链接内容mkdir -p /etc/systemd/system/nginx.service.d printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.confsystemctl daemon-reloa...

2018-04-06 23:28:37 1777

转载 JS中多继承

下面的例子演示了如何使用Object.create()来实现类式继承。这是一个所有版本JavaScript都支持的单继承。// Shape - 父类(superclass) function Shape() { this.x = 0; this.y = 0; }// 父类的方法 Shape.prototype.move = function(x, y) { this...

2018-04-04 16:54:57 1223

转载 Linux系统环境变量配置文件

Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 /etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 ~/.profile : 在登录时用到的第三个...

2018-04-03 18:59:32 1205

原创 JSON.stringify()的三个参数

语法 JSON.stringify(value[, replacer[, space]])用途 : 序列化js对象数组, 美化json文件 参数说明:value: 必需, 要转换的 JavaScript 值(通常为对象或数组)。replacer: 可选。用于转换结果的函数或数组。如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的...

2018-03-29 12:34:11 2075

原创 npm 查看全局安装模块 修改安装path

1.npm 查看全局安装模块npm list -g --depth=02.修改安装path , node的安装目录下 node_modules\npm 有个文件 npmrc 1的配置文件 用来配置 模块的安装path prefix=D:\my\node\node_modules\npms //安装pathcache=D:\my\node\node_modules\npm_cach...

2018-03-29 11:12:00 2792

原创 es5 Array 的filter 和 map实际用途

我举一个简单的添加模块的例子: 这个是在vue 中写得一个简单的功能 把打钩的模块拿出来发送给 后端加个假设 后端给的数据是 :data:[{id:1,name:"评论管理"},{id:1,name:"资源包管理"},{id:1,name:"资源库管理"}]我们先用map 给 data 的每个对象构造一个checked 属性:data= data.map(item =&gt...

2018-03-28 19:48:13 517

转载 js 堆排序

原文地址 我感觉这篇写的最容易的理解, 堆排序把我卡了挺久的,对于一个非科班的人,其实算法和专业没啥关系,但科班的一般都有上过这门课.主要是利用堆的性质 和 递归,也可以非递归 . 关键是从最后一个非叶节点入手 学了一段时间了,都没有把学习心得放网上,现在才发现这样不好不好。。。因此开了博客把自己的学习点滴或者感兴趣的内容记录下来,先讲讲堆排序吧。根据《算法导论》,理解堆排序需...

2018-03-23 19:57:20 326

转载 图像边缘算法原理

原文地址图像边缘算法原理 将当前像素与相邻的下部和右部的像素进行比较,如果与这两个像素点都相似,就将当前的像素设置为黑色,如果与这两个像素点都不相似,就将当前的像素设置为白色,否则为一个中间色。怎么判断像素相似呢?应用欧几里得距离算法,欧几里得算法是计算m维空间中两个点之间的距离,在图像处理中,就是三维的,其实就是求三维空间中两点之间的距离,然后让这个距离跟一个阀值比较(本例子中阀值=16)...

2018-03-23 19:13:02 3207

转载 数字图像处理:各种变换滤波和噪声的类型和用途总结

转载:http://imgtec.eetrend.com/blog/4564一、基本的灰度变换函数 1.1.图像反转 适用场景:增强嵌入在一幅图像的暗区域中的白色或灰色细节,特别是当黑色的面积在尺寸上占主导地位的时候。1.2.对数变换(反对数变换与其相反) 过程:将输入中范围较窄的低灰度值映射为输出中较宽范围的灰度值。 用处:用来扩展图像中暗像素的值,同时压缩更高灰度级的值。 特...

2018-03-23 18:54:21 6486

转载 图像去噪

原文地址编程软件 MATLAB、VC+MATLAB、VC+OpenCV、VC等。什么是图像 图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。或者说图像是客观对象的一种表示,它包含了被描述对象的有关信息。它是人们最主要的信息源。据统计,一个人获取的信息大约有75%来自视觉。图像是对客观物体的主动感官。图像的分类 数字图像可以分为:灰度图像和多...

2018-03-23 18:25:40 3264

转载 图像的灰度图 和 二值化的概念

原文地址 在图像处理中,用RGB三个分量(R:Red,G:Green,B:Blue),即红、绿、蓝三原色来表示真彩色,R分量,G分量,B分量的取值范围均为0~255,比如电脑屏幕上的一个红色的像素点的三个分量的值分别为:255,0,0。像素点 像素点是最小的图像单元,一张图片由好多的像素点构成,下图是一张美女的大白腿的图片。 图像处理的灰度化和二值化查看这张图片的信息,尺...

2018-03-23 18:20:07 20333 9

原创 bat shell批量处理复制移动同类型文件

linux mv ./*.cpp ../windos move ./*.cpp ../ 上述命令是把后缀名为cpp的文件移动到上层 主要用通配符 *

2018-03-22 23:18:46 1436

原创 vuex 简单使用

在vue 组件中 执行enabledcheckbox方法 ,true 为参数,用来改变state中的值 this.$store.dispatch("enabledcheckbox",true) 从state获取useredit的值 this.$store.state.useredit2 在vuex导出的对象对添加 值到state 添加 mutations 来...

2018-03-22 10:57:51 195

转载 JS判断值是否是数字

来自这篇博客1.使用isNaN()函数isNaN()的缺点就在于 null、空格以及空串会被按照0来处理NaN: Not a Number/** *判断是否是数字 * **/function isRealNum(val){ // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除 if(val === "" || val ==nu...

2018-03-20 15:23:43 1795

原创 vue 中 父组件对子组件设置v-if 属性应注意

比如 :<add-roles v-if="flag" :id="current_id" ></add-roles>有个函数把flag 设置为true 子组件显示 look_role(id){ this.flag = true this.current_id =id },子组件pr...

2018-03-19 19:03:43 9529

原创 矩阵运算——平移,旋转,缩放

1 0 0 0 0 1 0 0 0 0 1 0 x y z 1 平移变换矩阵。 x 0 0 0 0 y 0 0 0 0 z 0 0 0 0 1缩放矩阵。 旋转可以看看...

2018-03-16 18:18:42 1476 1

原创 js 归并算法

将数组递归分裂成单个元素 然后合并数组let data3 = [14, 54, 73, 38, 39, 67, 75, 80, 50, 40, 96, 27, 105, 109, 77, 31]function breakArr (data,start,end){ if (start < end) { let mid = Math.floor((start + e...

2018-03-15 16:34:22 485

转载 浏览器重排与重绘

转自高性能JavaScript 重排与重绘 先回顾下前文高性能JavaScript DOM编程,主要提了两点优化,一是尽量减少DOM的访问,而把运算放在ECMAScript这一端,二是尽量缓存局部变量,比如length等等,最后介绍了两个新的API querySelector()以及querySelectorAll(),在做组合选择的时候可以大胆使用。而本文主要讲的是DOM编程可能最耗时的地...

2018-03-15 14:45:34 221

原创 js 快速排序

简单地说: 1. 选择一个基准数 key = arr[0] 2. 大于这个数 的放到key的右边,小于这个数的放在左边,这样数组分成了两个区间。 3. 分别在上述两个区间做第二步操作。 4. 一直重复,用递归的方式,直到区间的数为1时结束。代码如下:let arr=[5,9,8,7,3,45,8,10,2,6]function qs(arr,left,right){ ...

2018-03-14 23:21:18 226

转载 OpenGL ES: 纹理采样 texture sample

严正声明: 作者:psklf 出处: https://www.cnblogs.com/psklf/p/5762308.html 欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任! Sampler (GLSL) Sampler通常是在Fragment shader(片元着色器)内定义的,这是一个uniform类型的变量,即处理不同的片元时这个变量是一致...

2018-03-13 17:44:27 1882

原创 js插入排序

原理 数组分为两部分, 一部分为有序数组,一部分为无序数组, 默认数组第一个元素为有序部分, 然后从无序的数组中依次取出元素, 插入有序数组时比较大小,再次变成一个有序数组, 最后有序部分就是排好序的, 无序部分就没了.下面是js 代码 const data = [110, 86, 47, 34, 83, 11, 77, 100, 51, 21] function insrt(d...

2018-03-12 16:28:37 757

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除