加载中
软件性能优化方法

性能优化方法 1.缓存 将结果保存起来,后续重复的操作可以直接使用缓存结果。避免了重复执行。 2.批量 多个类似的操作批量执行。多个类似操作或多或少会有重复的流程。 3.并发 多个流程同时执...

01/16 16:33
81
最长公共子串

最长公共子序列中子序列是不连续的,最长公共字串则要求子串是连续的。两者是不同的问题。最长公共子序列前面已经说了,这里只讨论最长公共子串问题。 设有A和B两个序列。c(i,j)表示以A[i]和...

2023/12/21 11:46
45
Premultiplied Alpha

非预乘Alpha纹理在线性采样时出错 非预乘Alpha颜色混合 可以看到颜色部分和alpha部分的运算公式是不同的:SrcAlpha-OneMinusSrcAlpha,One-OneMinusSrcAlpha。alpha可以理解为遮挡度。 非预乘...

curl调试POST协议

直接使用json串请求: curl --location --request POST 'http://localhost:8080/xxx' --header 'Content-Type: application/json' --data-raw '{ "NAME": "xxx" }' 发送单独json文件: curl -...

2023/05/30 11:14
67
正交投影debug记录

在实现CSM阴影算法的时候,阴影总是忽隐忽现。调试了两个晚上都没有结果,我开始怀疑人生,都有放弃的念头。但是山穷水尽疑无路,柳暗花明又一村。第三个晚上完美地跑通了CSM,发现的三个bug...

2023/03/16 21:44
80
理解WebAssembly中javascript和C交互

WASM和以往的脚本语言调用本地代码方式很不相同。之前脚本语言是虚拟的,本地代码是操作系统原生的。这次js才是主人,C代码是虚拟运行的。 JS和C交互 不出所料只能调用C,C++接口需要自己封装...

OpenGL绘制线

绘制线主要是考虑圆形接头和抗锯齿。 方法1:使用CPU预先剖分 我是这么剖分成三角形的: 我使用两个边线的交点来求A点坐标。不是交点的另一边使用圆弧来连接。 方法2:使用GPU绘制 将折线划分...

2022/07/28 18:15
590
IBL镜面反射

再看反射方程的镜面反射部分 由于视点相关不好处理,根据Epic Games' split sum approximation近似计算,这地方很不物理: learnOpenGL上预滤波环境贴图的部分公式是错误的 预滤波环境贴图 ...

2022/07/08 18:20
169
辐照度图生成

辐照度图 反射方程被分为两部分: 半球积分: 这里是定积分,不知道为什么作者说是卷积。 可以使用黎曼积分来离散化求解,但是这里使用蒙特卡洛积分法来推导: 我觉得黎曼积分就是均匀化的蒙...

2022/07/08 16:24
113
Gamma校正与色调映射

Gamma校正 人眼感受到的光照强度和信号强度不是线性关系,同时CRT显示器也非常巧合的和人眼类似,输入电压产生约为输入电压的2.2次幂的亮度。为了使显示设备的输出亮度与现实接近,可以对原始...

2022/07/05 17:53
681
线性深度

裁剪空间不是NDC 投影变换后得到裁剪空间坐标。在顶点和片段着色器中间OpenGL最自动执行透视除法和视口变换得到屏幕空间。 (Vertex Shader) => Clip Space => (透视除法) => NDC => (视口变换...

2022/06/29 11:58
259
PBR光照模型

判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件: 基于微平面(Microfacet)的表面模型。 能量守恒。 应用基于物理的BRDF。 辐射度量学 辐射通量:辐射通量Φ表示的是一个光源所输...

2022/06/16 13:50
330
凹凸贴图

凹凸贴图 凹凸贴图在我看的书里面是一个通用的属于,不是特定的技术实现。是一种在低分辨率模型中用纹理来改变光照效果,从而表现模型细节的技术。它包括法线贴图、视差贴图、偏置贴图三种。...

2022/05/07 11:02
183
SWIG踩坑记

Windows windows平台需要先这样,要不然__declspec(dllexport)会报错。 %include <windows.i> std::string swig提供了很多stl的包装,能够自动和目标语言互转。需要这样写 %include "std_st...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部