自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ayww的博客

我们一起进步

  • 博客(55)
  • 收藏
  • 关注

原创 马拉车算法

Manacher马拉车算法。

2022-11-16 15:57:20 168

原创 KMP字符串子串匹配

KMP匹配字符串子串

2022-11-16 15:50:04 165

原创 2021-08-20

普通克里金 (OK)插值推导 前言1.1普通克里金推导1.1定义1.2假设条件1.3无偏约束条件1.4优化目标/代价函数J1.5代价函数的最优解1.6半方差函数1.7半方差模型1.8小结前言之前做毕设的时候看文献一知半解,现在找个时间补回来。1.1普通克里金推导1.1定义克里金插值公式形如:zo^=∑i=1nλizi\hat{z_o} = \sum^{n}_{i=1}{\lambda_iz_i}zo​^​=i=1∑n​λi​zi​zo^\hat{z_o}zo​^​ 为预测点估计值;λi\la

2021-08-20 14:07:05 358 1

原创 概率论—贝叶斯定理 解析

贝叶斯定理前言用图来解释前言      贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一则定理。其中P(A|B)是在B发生的情况下A发生的可能性。      贝叶斯定理也称贝叶斯推理,早在18世纪,英国学者贝叶斯(1702~1761)曾提出计算条件概率的公式用来解决如下一类问题:假设H[1],H[2]…,H[n]互斥且构成一个完全事件,已知它们的概率P(H[i]),i=1,

2021-01-05 16:26:13 3122

原创 使用VS2019编译V8引擎 (windows x64)

使用VS2019编译谷歌的V8js引擎 - winX64前言前言    最近需要用到一个脚本引擎

2020-11-22 13:59:35 2863 1

原创 webpack4+babel7安装

webpack4+babel7安装前言1. package.json2. webpack.config.js3. .babelrc4. 后记前言最近学习react,但网上教程比较混乱,坑很多,而且babel7较之前版本有重大变更。在此开一篇文章记录一下辛酸历程。1. package.json列出了各库文件版本。npm package 名称的变化 (重点)这是 babel 7 的一个重大变化,把所有 babel-* 重命名为 @babel/*package.js{ "name": "rea

2020-06-28 17:45:01 605

原创 Modern OpenGL :光照shader

Modern OpenGL :光照shader1. 前言2. 数学背景3. 实现1. 前言  采用shader实现了标准? 冯氏光照模型。2. 数学背景老生长谈了。光照模型:冯氏光照模型(环境光+漫反射+镜面反射)光源类型:点光源环境光通常是一个常量ambient=Caambient= C_{a}ambient=Ca​漫反射与面的法向量N和光线向量L有关diffuse=Cd...

2020-04-16 23:02:04 416

原创 导数应用(一):差分计算(导数)

导数应用(一):差分计算(导数)1.数学背景2.代码1.数学背景导数:dydx=y(xi)−y(xi−1)xi−xx−i\frac{dy}{dx} = \frac{y(x_i) - y(x_{i-1})}{x_i - x_{x-i}}dxdy​=xi​−xx−i​y(xi​)−y(xi−1​)​差分:ΔYΔX=Yi−Yi−1Xi−Xi−1\frac{\Delta Y}{\Delta X} =...

2020-04-07 21:18:53 4785

原创 快速相交检测:平面与包围盒

快速相交检测:平面与包围盒1.前言2.数学背景3.计算原理4.代码1.前言   在游戏等实时性要求高的三维程序中,相交检测是一项及其基础又重要的技术,大佬们相继提出各种检测技术。  当然大多数人的实现方式可能 (确信)是将包围盒的8个点分别带入平面检测,这将要做8组点积。  今天我来介绍其中一项比较快速的检测方法,在略去相交和内部的判断后可以直接降到四次点积,当然如果使用的是AABB则会变...

2020-04-06 22:01:02 1084

原创 Let's Make a Deal(检验智商的概率游戏)

源自美国电视娱乐节目Let’s Make a Deal1. 问题   假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇。其中一扇后面有一辆车,其余两扇后面则是羊。  你选择了一扇门,假设是1号门,然后知道门后面有什么的主持人开启了另一扇后面有羊的门,假设是3号门。然后他问你:“你想选择2号门吗?”你会如何回答?解答:应该换,因为换了之后有2/3的概率赢得车,不换的话概率只有1/3。...

2020-03-31 12:52:12 2105 1

原创 孔乙己:参数的⑨种写法

孔乙己:参数的⑨种写法// 这里客串一下:using _Ty = int;1. _Ty 2. const _Ty / _Ty const3. const _Ty& / _Ty const&4. _Ty&5. _Ty&&6. _Ty*7. const _Ty* / _Ty const*8. _Ty*const9. const _...

2020-03-25 14:40:37 177

原创 孔乙己:new的五种写法

孔乙己:new的五种写法这个是目标类:_INT拥有一个字面常量构造函数,和一个平凡析构函数可以从int构造,也可以隐式转换为int也可以和int比较大小class _INT{private: int value;public: constexpr explicit _INT(int _Val0 = 0) noexcept:value(_Val0) {} ~_INT() {}...

2020-03-24 15:10:58 1971

原创 奇妙之旅:SIMD加速矩阵运算

奇妙之旅:SIMD加速矩阵运算1.前言2.预备知识3.计算逻辑4.代码实战1.前言  游戏会涉及到大量4x4的矩阵乘法运算,而乘法最简单直观的实现就是循环4×4×4次乘法,以及若干次加法,得到结果。  在计算量较少时,cpu并不是很紧张。然而游戏通常每秒伴随着大量运算,此时,计算的效率就显得尤为重要。  通过查阅文献,我发现了一种SIMD(Single Instruction Multip...

2020-03-20 13:15:19 5300 4

原创 协程(coroutine)应用实例:计时器过期事件响应

协程应用实例:计时器过期事件响应序1. 计时调度中心2.基于协程的事件处理序  早期我曾把弄过War3 的WE编辑器,算是我编程的启蒙教育了。其事件响应系统在我心中一直印象深刻,特别是每个事件都可以用等待函数延迟执行,昨天我看到了协程,心血来潮便写了个简陋的计时器响应机制。1. 计时调度中心  计时调度中心采用linux时间轮式设计,网上资源很全面,不做过多叙述。  详见: 基于Linu...

2020-03-17 12:44:10 448

原创 C++多线程并行计算

C++多线程并行计算多线程(std::thread)多线程(std::thread)写了一个简短的并行计算例子存粹的利用CPU性能计算素数个数//实现标准库头文件<numeric>中accumulate函数的并行版本#include <iostream>#include <thread>#include <numeric>#inclu...

2020-03-11 16:41:49 11955 3

原创 c++面试总结

c++面试总结1.算法2.数据结构3. C++ feature4. OS5. Network6. Database7. 实战8.系统学习资料8.1 数据结构8.2 OS8.3 Network8.4 Database8.5 Linux8.6 C++ Programing8.7 Other8.8 面试指南8.9 网站1.算法排序冒泡排序简单选择排序直接插入排序折半插入排序希尔排序...

2019-12-18 20:13:14 449

原创 OpenGL Blend混合

OpenGL Blend混合11绘制顺序就是:首先绘制所有不透明的物体。如果两个物体都是不透明的,则谁先谁后 都没有关系。然后,将深度缓冲区设置为只读。接下来,绘制所有半透明的物体。如果两个物体都是半透明的,则谁先谁后只需要根据自己的意愿(注意了,先绘制 的将成为“目标颜色”,后绘制的将成为“源颜色”,所以绘制的顺序将会对结果造成一些影响)。最后,将深度缓冲区设置为可读可写形式。...

2019-12-18 08:50:44 184

原创 函数多个返回值

函数返回多个参数11std::tuple<int, std::string, bool> func(){ return std::make_tuple(123, "567", false);}int main() { auto [v1, v2, v3] = func(); std::cout << v1 << std::endl <&...

2019-12-17 10:58:29 188

原创 欧拉角四元数与矩阵转换

欧拉角四元数与矩阵转换一、欧拉角到矩阵一、欧拉角到矩阵A rotates around the Z axis, B rotates around the Y axis, and C rotates around the X axis. The elements of the rotation matrix can be computed by using.R=[cosBcosAsinCsin...

2019-11-28 16:37:34 300

转载 OpenGL ES 3.0 纹理格式介绍及有效的内部格式、格式、类型组合

OpenGL ES 3.0 纹理格式介绍及有效的内部格式、格式、类型组合一、简介二、有效的 internalformat、format 和 type 组合1. 未确定大小的内部格式组合2. 确定大小的内部格式组合一、简介本文主要列举 OpenGL ES 3.0 中纹理格式有哪些,以及有效的内部格式、格式、类型组合。内容来自于 《OpenGL ES 3.0 编程指南 原书第2版》。纹理格式主要...

2019-10-23 16:56:15 1471

原创 Unreal4下载安装教程

Unreal4下载安装教程注册Github账号注册UE4账号绑定Github账号找不到源码注册Github账号什么你还没有GitHub账号?那就快去注册一个啊!注册UE4账号进入UE4官网,按照套路自行完成账号注册。绑定Github账号右上角账号名称下拉菜单点个人进入设置界面,如下图:左侧Tab栏选择连接的账户,找到Github点击连接。绑定成功后,Epic Games的注册...

2019-09-27 13:38:02 3134 1

转载 OpenGL的Context(Profile)

OpenGL的Context(Profile)1. Context的种类2. OpenGL Core Profile Only2.1 FreeGLUT2.2 GLFW3. OpenGL扩展引入方式3.1 GLEW3.2 GLAD3.3 其他参考资料:OpenGL在渲染的时候需要一个Context,这个Context记录了OpenGL渲染需要的所有信息,可以把它理解成一个大的结构体,它里面记录了当...

2019-09-26 23:42:17 576

转载 glew工作原理

glew工作原理在C/C++程序中使用OpenGL时,需要使用glew/glad这样的第三方库来加载OpenGL函数。不像一般的第三方lib,通过头文件,直接就能够找到函数的指针地址。很多同学不明白为什么需要这么做。本文,就来分析一下。因为gl.h这个头文件在windows平台是最原始的版本,微软并不更新,一些最新的函数接口并不能暴露出来,不知为何,在Linux上同样不更新了,最新的OpenG...

2019-09-26 23:29:42 672

转载 导师催论文的操作指南

导师催论文的操作指南来源:学术志(ID:xueshuzhi001)作者:二手副院长 编辑:学妹不少年轻导师都有这样的困惑:本来养的好好的硕士、博士,平日里撒泼打滚、活蹦乱跳、一天两发朋友圈,可是突然有几天就销声匿迹了,打电话不接,发短信不回,留微信也没反应,隔几天再打电话吧,手机还停机了。于是一些导师莫名担心起来:这个学生该不是失恋了吧?其实,以我多年的养殖经验来看,学生出现这种...

2019-09-25 12:28:48 476

转载 GitHub 标星 7k+,面试官的灵魂 50 问,问到你怀疑人生!

GitHub 标星 7k+,面试官的灵魂 50 问,问到你怀疑人生!转自量子位,作者安妮,编辑 GitHubDaily相信大家在面试的时候都会经历过,跟 HR 或技术 Leader 聊到最后一步时,他们往往能抛出一个令人深思的问题:对于我们公司,你还有什么想问的吗?没有问题,略显尴尬,搞的好像你对这份工作不上心。如何问出水平,问出更多信息,加强自己对工作的理解就很重要了。但 Leetc...

2019-09-25 08:57:19 162

转载 osg::StateAttribute 派生类速查

osg::StateAttribute 派生类速查渲染状态类;是否需要setMode;使用getAttribute时的枚举值;简介osg::AlphaFunc;GL_ALPHA_TEST;ALPHAFUNC;封装了glAlphaFunc的功能。用于实现Alpha测试。osg::BlendColor;GL_BLEND;BLENDCOLOR;封装了glBlendColor的功能,可能需要Open...

2019-09-24 23:07:21 275

原创 OpenGL :glBindBuffer参数详解

OpenGL :glBindBuffer参数详解1.函数原型2. 参数解释2.1 target2.2 size2.3 data2.4 uasge1.函数原型void glBufferData(GLenum target​, GLsizeiptr size​, const GLvoid * data​, GLenum usage​);    &nbs...

2019-09-18 00:08:21 8753 3

转载 OpenGL 视椎体剔除算法

视椎体剔除算法1. 前言2. 四叉/八叉树/六面体检测2.1 概述2.2 算法3. 球/圆锥检测3.1 概述3.2 算法1. 前言         时至今日,许多刚刚下海的3D引擎程序员仍不了解视锥剔除(Frustum Culling)的重要性和益处,这让我和我的小伙伴们感到很震♂惊.我在Flipcode...

2019-09-15 20:13:25 2676 1

原创 OpenGL Draw函数族以及渲染优化

OpenGL Draw函数族以及渲染优化前言1.最基本的Draw函数1.1 glDrawArrays1.2 glDrawElements2.基本Draw函数的变种2.1 *Instanced2.2 *BaseVertex2.3 *BaseInstance2.4 *BaseInstanceBaseVertex2.5 *Indirect2.6 小结3.多重Draw函数4.无绑定技术(bindless)...

2019-09-15 02:04:24 3576

转载 C++异常机制

链接:http://www.zhihu.com/question/22889420/answer/22975569来源:知乎著作权归作者所有,转载请联系作者获得授权。C++异常机制       整个 C++ exception 的行为在常见语言中是最奇葩的, 因为这个语言特性与 C++ 其他 feature(特别是确...

2019-09-14 22:45:14 158

原创 C++ 函数调用时间开销

C++函数调用时间开销1.前言2.函数调用约定3.函数类型3.1.普通函数3.2.模板函数3.3 内联函数3.4 宏函数3.4 虚函数4.函数调用开销测试附页1.前言         调用函数的开销大致可分两个部分:传递参数的开销和保存当前程序上下文信息所花费的开销。对于传递参数的开销而言,传递的参数越多...

2019-09-14 17:15:46 6041

转载 视锥剔除优化

视锥剔除优化基本相交测试. 只需要测试包围盒的两个角(这个几乎所有人都做了)平面连续测试. 根据上次测试的结果来优化用于测试的平面顺序八分体测试. 对于对称的视锥体可以减少一半的测试父子测试. 对于有父子关系的包围盒, 父在内则子在内, 父在外则子在外, 父相交则需要递归测试(四叉/八叉之类的肯定也做过了)变换连续测试. 根据移动和旋转的方向来优化测试. 如上一帧在外...

2019-08-25 00:11:13 927

原创 不允许指针指向不完整的类类型

原因分析:前置class声明B.hclass A;class B{public: A* a;}这里没有给出A的定义,但确实使用了A的指针解决办法 include “A.h”include、include、include 重要的事情说三遍...

2019-06-29 12:49:47 10127 2

原创 四叉树——图片应用实例

四叉树前言应用实例前言四元树又称四叉树是一种树状数据结构,在每一个节点上会有四个子区块。四元树常应用于二维空间数据的分析与分类。 它将数据区分成为四个象限。数据范围可以是方形或矩形或其他任意形状。这种数据结构是由 拉斐尔·芬科尔(Raphael Finkel) 与 J. L. Bentley 在1974年发展出来 。应用实例四叉树索引结构可以快速的在二维空间划分数据 ,下面是一张图片的四...

2019-06-19 21:51:07 5038 3

原创 OpenGL 加载透明纹理

OpenGL 加载透明纹理一、编译LPNG,ZLIB二、读取PNG三、添加纹理对象一、编译LPNG,ZLIB依然是以前的老一套,在此不作过多赘述将编译好的加到工程中二、读取PNGLPNG有示例,我直接拿来用了imagenamespace image{ class png { public: png(); ~png(); long load(const ::s...

2019-03-15 12:21:01 3811 1

原创 OpenGL VAO+VBO+EBO+GLSL练习

OpenGL VAO,BVO,EBO + shader练习一、VAO,VBO,EBO之间的关系一、VAO,VBO,EBO之间的关系废话不多说,直接上图也就是说:每个个VAO管理着数个VBO,同时可以拥有一个EBO(EBO,索引数据,可以没有,此时直接用顶点数据绘制)每个VBO用来存放数组数据,这个数据可以由你自己定义顺序在绑定了VAO之后,后面绑定的VBO和EBO归属到这...

2019-03-14 17:24:14 680

转载 OpenGL图形渲染管线、VBO、VAO、EBO概念及用例

OpenGL图形渲染管线、VBO、VAO、EBO概念及用例图形渲染管线顶点缓冲对象(Vertex Buffer Objects,VBO)顶点数组对象(Vertex Arrary Object,VAO)索引缓冲对象(Element Buffer Object,EBO)本文转自:https://blog.csdn.net/dcrmg/article/details/53556664图形渲染管线...

2019-03-13 14:00:49 378

转载 OSG例子程序简介

OSG例子程序简介本文转自 https://www.cnblogs.com/lyggqm/p/6222332.html1.example_osganimate一)演示了路径动画的使用(AnimationPath、AnimationPathCallback),路径动画回调可以作用在Camera、CameraView、MatrixTransform、PositionAttitudeTrans...

2019-03-11 17:33:29 1072

原创 OpenGL绘图基本矩阵运算讲解

平移缩放旋转矩阵一、平移矩阵二、缩放矩阵三、旋转矩阵四、透视矩阵五、剪切矩阵一、平移矩阵坐标平移(dx,dy,dz)(dx,dy,dz)(dx,dy,dz):[100dx010dy001dz0001] \begin{bmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; dx\\ 0 &amp;amp; 1 &amp;amp; 0 &amp;a...

2019-03-08 23:45:22 1259

原创 OpenGL光照

OpenGL光照模型基本光照模型1.放射光2.环境光3.漫反射光4.镜面反射光光源类型1.平行光2.点光源3.聚光灯代码基本光照模型OpenGL中有四种光照模型放射光(自发光) &nbsp;&nbsp;&nbsp;emissiveemissiveemissive环境光 &nbsp; &nbsp; ambientambientambient漫反射光 &nbsp;&nbsp;&nbsp;...

2019-02-28 00:38:13 7169

空空如也

空空如也

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

TA关注的人

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