自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 问答 (1)
  • 收藏
  • 关注

原创 调试安卓 gles性能瓶颈

使用mali offline shader compiler分析shader的性能瓶颈。

2024-03-07 15:26:50 777

原创 OpenCV下载与变量配置

【代码】OpenCV下载与变量配置。

2024-03-03 21:03:48 248

原创 BVH动画绑骨蒙皮并在Unity上展示

可以看到导出的一堆clip动画片段和相应的网格,右下角可以预览动画,直接将人物拖到场景中(图中那个选中0218ske)就可以用了。先左上角红框进入model模式,选中要绑定的模型,然后进入Edit模式把骨骼和关节对齐。要把导入的所有bvh都切换到刚才绑定和蒙皮的对象上,不要用自己原来的。选中节点下的网格属性,切换到Weight Paint模式。要保证导入的bvh和之前绑定的动画可以对应。可以拿那些导入的动画片段直接做状态机。为了蒙皮的时候方便,打开下面这些选项。(选中骨骼,G移动,R旋转)

2024-02-05 23:07:50 868

原创 osgb转ply记录

osgb只有osg能打开。一些能打开osgb的工具都是依赖于osg的,比如FME和Easy3dviewers2(vc2015)。但是上述工具会面临一些osg打不开的问题,可能是osg的版本不够高,那么一种比较好的方法就是使用的conv做转换。

2024-01-26 23:45:37 387

原创 图形学中的噪声

优化:divide the space into tiles.划分格子,每个格子一个采样点,计算的时候只需计算相邻的点的距离。一个八度一个八度的向上叠加。频率和振幅在每一次迭代中乘上一个值。除了距离外将最近的点保存,还可以保存一些特有的属性。用小数部分与四个点连成向量,将向量点乘,再插值。取距离所有采样点最近的距离。四个点取随机数然后做插值。把采样从立方体换成四面体。

2023-11-14 17:23:10 158

原创 高质量实时渲染笔记

不同的材质有不同的brdf,glossy的材质采样角度小,越镜面,较为集中,diffuse的材质采样均匀。每一级有不同的密度(采样的时候对相邻位置不同密度的纹理进行采样),对每个固定密度的图做mipmap,mipmap密度不变。问题:light leaking,应该被照亮的和不该被照亮的在一个格子里(可以用自适应方法,cascade)。将2D的BRDF lobe转化成余弦,光源的形状也一起跟着变化,在变换后的光源上进行积分是有解析解的。SSAO在球里面撒点,在物体内部表示看不见,物体外部看的见。

2023-11-14 17:18:52 403 1

原创 实时全局光照(Real-time Global Illumination)与Reflective Shadow Maps(RSM)

全局光照 = 直接光照 + 间接光照,GI非常重要,但是很复杂,但如果只有考虑直接光照,很多地方都是黑的,减少了渲染的真实感。

2022-11-13 17:51:14 975 1

原创 Bug记录:路径正确时 imread无法读取图片的原因

在debug模式下运行,imread读取图片为空。

2022-09-24 21:24:50 1209

原创 扫描线例题——850. Rectangle Area II

【代码】扫描线例题——850. Rectangle Area II。

2022-09-16 13:01:30 645

原创 OpenGL中最简单的窗体创建和渲染(初始化GLFW、GLAD、定义视口大小和resize回调、双层缓冲、输入事件处理)

GLFW的配置说明步骤:创建的窗口对象容纳了所有的窗口数据(初始化之后的代码段)。最后一行代码的目的是让我们窗口的context成为当前线程的主context。glfwGetProcAddress根据操作系统提供函数。定义视口大小定义并注册resize事件准备engines为了不让应用程序画一帧就关掉窗口,使用while定义render loop。glfwWindowShouldClose检验窗体是否被关闭glfwSwapBuffers交换颜色缓存(是一个巨大的包含GLFW窗口的每个

2022-09-15 21:12:07 1195

原创 OpenGL运行环境的搭建(GLFW+GLAD+OpenGL以及在Vistual Studio中的 配置)

用户可以使用预定义好的CMake脚本,根据自己的选择(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。将得到的zip解压后,将Include下的两个文件夹放到刚才创建的Include文件夹中,然后将glad.c文件添加到项目工程中。CMake需要源代码文件夹(这里使用上面下载的glfw文件根目录)和用于存储二进制文件的目标文件夹(新的空文件夹)。GLFW(窗口和处理用户输入)+GLAD(解决繁琐的检索函数位置问题)+CMake(从源码编译GLFW库)

2022-09-15 19:45:49 804 1

原创 OpenGL概述(核心模式与立即模式、扩展、OpenGL中的对象)

OpenGL本身不是一个API,而是一个。OpenGL是一个巨大的(state machine),它是定义OpenGL现在该如何工作的变量的集合。

2022-09-14 19:23:55 1704

原创 网络层(IP数据报格式、ARP协议)

网络层的作用:IP分组。经过路由器的有两种包:路由协议包、转发包(数据分组)。路由器的原理如下图所示。

2022-09-10 19:08:37 1035

原创 虚拟局域网技术 (VLAN技术、tag帧、交换机端口的VLAN属性、以太网交换机的转发流程)

将一个大型的局域网人为地划分成多个孤立的局域网。一个VLAN就是一个广播域,划分VLAN就是把一个广播域划分为多个广播域。将划分的各个VLAN互联需要路由器。

2022-09-10 16:34:48 1907

原创 PPP协议(PPP协议链路建立过程、PAP、CHAP、华为虚拟网络设备配置)

PPP协议是点到点传输协议。

2022-09-10 16:31:31 1484

原创 数据链路层实验(以太网帧格式、交换机MAC地址表、广播风暴、生成树协议STP、端口聚合)

以太网上的Ethernet2帧如下图所示:类型标志的是上层协议的类型(值大于1500时)。TCP/IP协议主张在数据链路层提供无连接的。

2022-09-09 13:52:34 758

原创 基本组网步骤

两台交换机分别构成两个局域网(一个部门一个局域网),这两个局域网通过路由器R相连。

2022-09-08 23:19:00 1134

原创 使用Wireshark软件抓包(分析报文)

报文分析软件的工作原理主要是。网卡有四种模式:广播、组播、直接、混杂。网卡通常的缺省工作模式是。

2022-09-08 22:56:11 2868

原创 568B网线

网线又称为双效线,是塑料绝缘外皮包裹的8跟铜线,一共4对。网线的制作主要遵顼EIA/TIA的568A和568B布线标准。如图所示为标准568B的网线。

2022-09-08 17:23:45 4477

原创 计算机网络实验:路由器交换机与其基本配置操作、常见命令

输出如下,Ethernet和Serial表示接口类型,第一个0表示0号槽位,第二个0表示位于第0号槽位接口卡上的第0号接口。交换机是工作在数据链路层的网络连接设备,在多个计算机或者网段之间交换数据。使用命令行来进行配置,H3C公司的命令行分为:参观级、监控级、配置级、管理级四个级别。网线的制作主要遵顼EIA/TIA的568A和568B布线标准。网线又称为双效线,是塑料绝缘外皮包裹的8跟铜线,一共4对。上述操作中,第一个选N,不保存当前配置。路由表是核心,对不同的报文分别处理。最常用的是超五类和六类网线。

2022-09-08 17:21:01 1840

原创 C++API和知识点补充

在于底层实现的容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素)。

2022-09-05 14:13:50 246

原创 深度学习环境搭建

安装cudatoolkit包。显示该虚拟环境安装包。

2022-09-02 11:08:54 147

原创 Progressive Reconstruction of Visual Structure for Image Inpainting 论文笔记

左边是P-Unet中原始的上采样层,右边是本文的,本文在局部卷积层后面加入了反卷积层。本文通过使用局部卷积层使得mask在不同通道中的大小保持一致,然后转置卷积进行上采样特征映射,解决之前P-Unet跳接引起的难以使用反卷积的问题。使用来自预训练的值固定的VGG-16的perceptuallossandstyleloss.(VGG-16仅仅是特征提取器而已)获得迭代的边缘图和其mask,按照下面的公式更新特征图及对应的mask。分别是更新后的featuremap和它的mask。...

2022-07-24 17:07:23 701 2

原创 Image-to-Image Translation with Conditional Adversarial Networks 论文笔记

cGANs不同于普通的GANs,除了随机噪声z外,还在Generator和Discriminator中加入了原图x来进行计算。即GAN是学习从噪声z到输出y的映射,conditionalGAN是从图像x和噪声z到输出y的映射。G{x,z}→yGG{x,z}→yGenerator本文的生成器使用U-Net结构,而非简单的Encoder-Decoder结构。判别器使用PatchGAN,即把图像分割成70×7070×70。...

2022-07-22 11:24:55 715

原创 Image Inpainting for Irregular Holes Using Partial Convolutions 论文笔记

主要改进 初值依赖严重+后期处理复杂 1. 空洞区域初始固定值问题: 标准卷积层总是将有效像素和缺失部分的均值作为初始值填充空洞区域,使得大洞缺乏纹理信息,产生color difference和blur问题。 2. 过分依赖于post-processing(如fast marching、 Poisson image blending、 a following-up refinement network).矩形空洞过拟合。......

2022-07-18 16:28:53 111

原创 Globally and Locally Consistent Image Completion 论文笔记

主要改进 基于Context-Encode网络进一步改进并解决它的问题 1. 只能处理固定大小的低分辨率图像。 2. Mask必须处于图像中心。完整的区域不能与周边区域保持局部一致性。

2022-07-18 16:26:14 113

原创 Learning Pyramid-Context Encoder Network for HighQuality Image Inpainting 论文笔记

现有方法不能结合直接可视信息和深层语义信息 1. patch search等方缺少法高层语义一致性的理解。 2. generative models的stacked constructions和poolings存在over-smooth, lack of visually-realistic等问题。

2022-07-18 16:19:36 92

原创 Learning Pyramid-Context Encoder Network for High-Quality Image Inpainting论文笔记

现有方法不能结合直接可视信息和深层语义信息。 1. patch search等方缺少法高层语义一致性的理解。 2. generative models的stacked constructions和poolings存在over-smooth, lack of visually-realistic等问题。

2022-07-18 16:12:53 515

原创 Context Encoders: Feature Learning by Inpainting 论文笔记

该网络简称CE,模型的整体架构是一个编码器-解码器。

2022-07-18 15:09:58 519

原创 马尔科夫随机场:定义、性质,最大后验概率问题,能量最小化问题

马尔可夫随机场又称马尔可夫网络(Markov random field (MRF), Markov network or undirected graphical model)是具有马尔可夫属性的随机变量的集合,它由一个无向图来描述。上图就是马尔可夫随机场的例子,边代表依赖关系。上图中,A依赖于B、D,C依赖于E,以此类推。对给定无向图G=(V,E)G=(V, E)G=(V,E)和一个由V索引的随机变量的集合X=(Xv)v∈VX=\left(X_{v}\right)_{v \in V}X=(Xv​)v∈V

2022-07-06 16:54:47 4935

原创 剑指 Offer 07. 重建二叉树 —— 递归分治、迭代

解题思路1前序遍历的形式:[ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]中序遍历的形式:[ [左子树的中序遍历结果], 根节点, [右子树的中序遍历结果] ]所以可以分治的求解该问题,难点是确定分治地边界:对前序后中序分别分治,分别传入这两个遍历的左边界和右边界,直到为空结点返回NULL。对每一次分治,前序遍历最左边结点的值是根结点。根据上一步根结点的值,遍历中序序列,获得根结点在中序遍历的下标,获得左子树的长度,然后就可以进行下一轮分治。代码1/** *

2022-04-09 10:12:19 188

原创 剑指 Offer 14- I. 剪绳子 —— 贪心

解题思路根据基本不等式,我们知道和相同的情况下,越是平分,乘积越大。所以遍历所有可能的段数,然后算出每个段的乘积,最大的就是最终结果。代码class Solution {public: int cuttingRope(int n) { int ans = 1,now; for(int i = 2;i<n;i++){//i段绳子 int minRope = n/i; int maxRopeCnt = n-m

2022-04-07 10:55:38 271

原创 C++快速幂模板

base是底数,index是指数。long long int quickPow(long long int base,long long int index){ long long int ans = 1; while(index){ if(index&1) ans*=base; base*=base; index>>=1; } return ans;}...

2022-04-07 10:51:06 1280

原创 剑指 Offer 13. 机器人的运动范围——广度优先(BFS)

解题思路广度优先搜索代码class Solution {public: int x=0,y=0,now; int sum = 0; queue<int> q; bool vis[10000]; int getDigitSum(int x){ int ans = 0; while(x){ ans+=x%10; x/=10; } return

2022-04-07 10:24:00 593

原创 高质量实时渲染课程笔记(三)— 实时阴影渲染1(Shadow Mapping、PCF、PCSS)

文章目录1 Shadow Mapping 阴影映射1.1 概览1.1.1 Shadow Mapping 是一个 2-Pass Algorithm(需要渲染两趟)1.1.2 Shadow Mapping is an image-space algorithm 图像空间的算法1.2 Shadow Mapping 实现过程1.2.1 Render from Light1.2.2 Render From Eye1.3 Shadow Mapping存在的问题1.3.1 Self occlusion 自遮挡解决自遮挡问

2022-04-06 14:16:41 1377

原创 C++比较全局变量、静态全局变量、静态方法

C++内存结构:代码区,全局数据区,常量存储区,堆区,栈区。比较全局变量和静态全局变量未经初始化的静态全局变量会被程序自动初始化为0;静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;静态变量都在全局数据区分配内存。所以不能在两个文件生成同名的全局变量,需要使用extern关键字,而static修饰的则可以(因为只对当前文件可见),例子和解释如下。全局变量第一个文件里:int b; //全局变量int main(){}第二个文件里:int b;//编译报错ex

2022-04-05 11:08:45 833

原创 高质量实时渲染课程笔记(二)——图形学基础回顾(渲染管线、OpenGL入门、GLSL、渲染方程)

1 图形渲染管线输入:点和连接关系(MVP变换)。将点变换到屏幕空间。将三角形投影到屏幕空间。光栅化:把原本连续表示的三角形离散化成屏幕上的片段(fragment),或称为像素(采样三角形)。处理遮挡(Z-Buffer可见性测试)。对片段着色(blinn-phong着色模型、纹理映射/插值)。输出:图像(pixels)。不足:难以处理阴影和光线弹射。优点:并行度高,速度快。2 OpenGLOpenGL是一套从CPU调用GPU的API。因此,语言不重要。跨平台。代替品(Di

2022-03-31 12:58:44 737

原创 高质量实时渲染课程笔记(一)——介绍和概览(高质量实时渲染的含义、学习前置、涉及的内容目录、发展史)

1 Real-Time High Quality Rendering的含义1.1 Real-Time 实时实时包含两个含义:速度和交互性。1.1.1 Speed 速度对于一般应用,FPS>=30,即称为实时(Real-Time)。对于AR/VR应用,FPS>=90,称为实时。Interactive FPS:可以接受的速度(比如玩游戏卡成ppt也是这个层级)。1.1.2 Interactivity 交互性要求每帧都能动态生成。1.2 High Quality 高质量真实

2022-03-29 15:48:09 940

原创 OpenGL中的坐标变换与代码示例

文章目录1 OpenGL中的顶点表示和变换1.1 顶点的坐标表示 (x, y,z, w)1.2 顶点的变换矩阵1.3 顶点变换的步骤2 顶点变换中的矩阵2.1 模型视图矩阵2.1.1 视图变换2.1.2 模型变换2.2 投影矩阵2.2.1 定义视景体2.2.2 选择投影模式2.3 透视除法2.4 视口变换2.4.1 决定场景所映射的有效屏幕区域的形状2.5 绘制场景1 OpenGL中的顶点表示和变换1.1 顶点的坐标表示 (x, y,z, w)即顶点总是有4个坐标(绝大多数情况下w都固定为1)。1.

2022-03-19 15:55:33 794

原创 句柄(HANDLE)的简单理解

文章目录什么是句柄句柄的本质理解为什么需要句柄什么是句柄句柄是一个整数,单独的看它只是数字。但这个整数是进程句柄表数组的下标,有了这个下标,操作系统就可以找到其索引的数据结构,并能找到数据结构里面的指针,然后根据这个指针获取内核里的某个对象。句柄的本质理解操作系统内核中有一个全局句柄表(如上图)。每个进程有自己的一个句柄表,是一个数据结构组成的数组,每个数据结构包含一个指向内核对象的指针、访问掩码、继承标识等。句柄是进程句柄表数组的下标。在32位系统中,句柄是一个32位值。64位系统中则是

2022-03-16 16:33:07 7221

HeightFogVertexShader.hlsl

HeightFogVertexShader.hlsl

2023-05-12

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

TA关注的人

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