自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (6)
  • 收藏
  • 关注

原创 OPENGL实时PBR路径追踪实现代码

这个是CPU实现的实现步骤,1.把光栅化的图片做第一帧 提取出来然后和光线追踪混合显示在屏幕 未实现2.正题 用2424分辨率进行光线追踪 可以大概得出屏幕显示的模型,这样就可以得到一个比屏幕空间还少的数量三角形进行光线追踪但是灯光的要默认进行光追,3.然后就是1K分辨率进行光线追踪,然后DLSS放大一倍变成2K或者4倍变4k4.光线追踪主要是反射部分,正面射出的颜色和光栅化一样是默认的颜色,我们直接光栅化显示出画面,然后1K分辨率进行光线追踪,这里1K光线追踪只需要24。

2023-03-22 17:05:20 616 1

原创 网吧不显示U盘和可移动磁盘方法

不显示

2023-02-27 08:05:24 662

原创 实时 Path Tracing 实现

蒙特卡洛光线追踪 实时 Path Tracing

2022-08-02 16:26:03 287

原创 UE5目录转移空间不足

重装系统后,ue5免重新下载,磁盘不足的解决方案

2022-07-27 13:03:11 701

原创 opengl 着色器中使用 Gbuffer数据 和一些着色器操作教程 第三章

着色器就是显卡 GPU编程着色器一些基本操作内置变量 gl_FragCoordgl_FragCoord.x gl_FragCoord.y 当前像素坐标vec3 有3个变量小数xyz vec2有2个vec2 屏幕坐标= vec2( 50,20) ;vec3 取出颜色= texture(colorTex, 屏幕).rgb; //在纹理中取出对应屏幕坐标数据vec3 颜色混合=(vec3(0.3,0.5,0.5)+vec3(0.5,1,0.3))/2内置变量 FragColor = v

2022-01-27 23:24:40 4692

原创 opengl 自定义帧缓冲Gbuffer 第二章

3大步骤1.在main 入口 创建GbufferGLuint gBuffer;glGenFramebuffers(1, &gBuffer);glBindFramebuffer(GL_FRAMEBUFFER, gBuffer);GLuint gPosition, gNormal, gColorSpec;// - 位置颜色缓冲glGenTextures(1, &gPosition);glBindTexture(GL_TEXTURE_2D, gPosition);glTexIm

2022-01-27 23:03:59 3062

原创 opengl shader1分钟入门教程 第一章

shader 基本使用方法5大步骤#include<glew.h>2.准备顶点 .vs 片元 .fs 文件3.编译 .vs .fs 文件4.创建着色器对象 绑定编译好的3和4如下图5.在循环中 启用着色器对象

2022-01-27 22:39:42 281

原创 SSGI 更高效的SSGI 方案

路径追踪主要就是光线在法线方向随机发射寻找光源所以和法线 距离眼睛的距离(深度有关)首先就是按照三角形的前后深度距离来混合颜色当前像素颜色×(1-深度)+ 周围像素×深度然后就是漫反射了网上很多简单的漫反射教程 太阳 \ | \ | 眼睛 \ _______/ 法线夹角越大角度 亮度越大模拟的大致结

2022-01-20 23:26:56 2778

原创 opencl cuda gpu 加速实践

cuda 只支持N显卡,并且需要参数compute_50,sm_50 算力 就是一般的显卡还用不上opencl 在低端显卡中好像也用不了

2022-01-06 22:26:02 1321

原创 光线追踪 三角形求交加速

比如场景中有100颗树木,1000万三角形我们用10*10 分辨率光追,把相交的三角形重新加入新数组在大分辨率进行光线追踪, 光线追踪反射 能快速判断标记的三角形

2022-01-06 22:20:46 201

原创 光线追踪 反射优化 标记分类

比如一个村庄 我们标记自己房间的4面墙和地板 标记=1光线追踪判断标记相同的三角形 进行判断相交能够很快的找到要反射三角形 或者 追踪的物体

2022-01-06 22:13:31 349

原创 屏幕空间 光线追踪

只计算屏幕中的三角形反射,是一种廉价的实时光线追踪解决方案

2022-01-04 18:59:37 346

原创 光线追踪相交优化简化法向

计算法向的在世界6个方向如果三角形法向向上表示1,光线向下各种方向表示6便大致判断为相交

2022-01-04 18:57:01 180

原创 光线追踪 优化反射 加快三角形求交

1.发射光线2.先判断地板3.同一个房间的墙壁标记1,4.都没有击中,再判断整个场景三角形

2022-01-04 17:47:55 173

原创 A-SVGF降噪代码实现

float 方差[WIDTH][HEIGHT];vec3 着色[WIDTH][HEIGHT];// A-三阶滤波器 vec3 svgf(int x, int y){ // 5x5 A-Trous kernel float Trous滤波分布[25] = { 1.0 / 256.0, 1.0 / 64.0, 3.0 / 128.0, 1.0 / 64.0, 1.0 / 256.0, 1.0 / 64.0, 1.0 / 16.0, 3.0 / 32.0, 1.0 / 16.0, 1.0 /

2021-12-22 21:24:01 2466

原创 光线追踪 10秒钟学会贴图纹理

首先把一张图片改名1.jpg 放在C盘下面就是SOIL2库 读入图片 保存在 图片纹理 变量SOIL2库 https://share.weiyun.com/EWOP778A#define STB_IMAGE_IMPLEMENTATION#include "SOIL2\stb_image.h" //包含头#pragma comment(lib,"SOIL2.lib") //包含库unsigned char* 图片纹理;//图片内存int nx, ny, nn;int main(){ .

2021-11-22 00:59:29 506

原创 路径追踪 SVGF降噪学习

对比上一帧深度 信息等等差距进行周围像素7v7加权(理解 权重1 1/2=0.5 +0.5 依然不超过1 权重无偏差)然后5v5 滤波3v3高斯模糊时间积累为了重用前一帧中的样本,我们将每个像素样本重新投影到其先前帧,并计算其屏幕空间坐标。这项工作按以下步骤完成:在G-缓冲区中查找当前帧的世界空间位置。使用存储的摄像机视图矩阵将当前世界空间转换为以前的剪辑空间。使用透视投影将以前的剪辑空间转换为以前的屏幕空间。对于每个重投影样本,我们通过比较当前和以前的G-缓冲区数据(法线、位置、对象

2021-11-18 20:25:13 4136

原创 实时路径追踪篇 CPU和gpu混合加速

已知cudagpu光线追踪速度好像快很多倍cpu多线程和gpu混合加速

2021-11-18 04:44:46 219

原创 实时路径追踪篇 简洁漫反射

我们用低差异漫反射4次就能得到一个较好的降噪图但是反射到物体 比如球,人物,树,对物体划分,墙体漫反射过滤物体,如此得到一个简洁的墙壁,通过一次对物体方向(原法向量)得到反射阴影,只一次,如此,就不需要几百次渲染,几次就能得到一个能看过去的墙壁,主要是光线追踪多个方向,产生多个位置阴影如果不是靠积分贡献,那么满墙壁都是物体阴影我们大部分都过滤掉物体进行漫反射,还能减少对物体的光线追踪计算量...

2021-11-16 20:47:17 229

原创 实时路径追踪篇 光追材质

路径追踪的是一个从0到100的过程这个渐变的过程非常慢最好在材质上下点功夫比如在一个普通的亮度中 场景预渲染好的贴图可以从70到100的过程可以节约很多

2021-11-15 20:45:18 245

原创 实时路径追踪篇 重点内容

场景追踪分开 地面的设置 100多次追踪墙壁设置 少量追踪,集中算力把重点的内容优先渲染好

2021-11-15 20:00:52 265

原创 实时路径追踪篇 材料分类

分类可以加速初期的效果,避免真空期反射材质 1SPP折射材质 4spp漫反射材质 1spp控制光线追踪初期的深度加速得到好的效果

2021-11-12 23:08:43 828

原创 实时路径追踪篇 高速内存区

先用20✘20光追,得到大部分的碰撞三角形,正常光追时,只计算碰撞这些高速内存区,再大的场景都能节约到200三角形内

2021-11-12 07:36:34 190

原创 光线追踪 卡通描边效果

判断 屏幕每个像素的物体基本颜色当2个颜色不同时候,替换成黑色

2021-11-05 11:33:20 75

原创 实时路径追踪篇 贡献度计算阴影

计算屏幕每一个像素的贡献返回颜色≠0 像素[i][j]++1; //快速计算出阴影的百分比通过百分比,均匀的调整阴影一般的路径追踪颜色需要上百帧才能把颜色叠加出来我们通过贡献度,快速的计算出阴影...

2021-11-04 06:57:55 66

原创 实时路径追踪篇 反射和折射

这是4核多线程光线追踪效果 200×200分辨率 就能拥有140帧率,在路径追踪的时候反射和折射1帧就能得到不错的效果

2021-10-31 16:59:18 160

原创 实时路径追踪篇 特征猜色

随机记录一些颜色和原色,判断原色变化的屏幕像素,直接替换也可以进行光追

2021-10-30 05:45:50 90

原创 实时路径追踪篇 逆变换

转动前获取摄像机所有2d转3d坐标和颜色(好像有个延迟渲染的g缓冲可以快速得到信息)转动摄像机后,重新获取一遍坐标,对比转动前的坐标,一样的把原来的颜色显示到目前的位置上

2021-10-29 17:30:10 56

原创 路径追踪 随机追踪法提速一倍

随机2分之一进行 光线追踪,另一半取前一个像素颜色,效果还行,速度提升一倍

2021-10-28 02:39:50 191

原创 路径追踪 降噪加速方法 屏幕像素颜色预记忆法 类似AI降噪

vec3 屏幕颜色记忆颜色[WIDTH][HEIGHT]; vec3 期待渲染近似效果[WIDTH][HEIGHT];该加速方法需要 渲染过一次 ,有了样本 才能加速屏幕颜色记忆颜色[i][j]=物体颜色 只在摄像机转动第一帧记录期待渲染近似效果[i][j]=过去 渲染好的图像颜色每次场景变了 ,我们判断屏幕颜色记忆颜色[i][j] 原始颜色,如果上一次记录是白色墙壁并且已经渲染了一次,那么久有了最终 渲染效果,我们直接返回渲染好的颜色期待渲染近似效果[WIDTH][HEIGHT]

2021-10-28 00:11:14 92

原创 路径追踪 多线程并行加速

这是CPU的主要#include #include DWORD WINAPI myfun1(LPVOID lpParameter); //声明线程函数DWORD WINAPI myfun2(LPVOID lpParameter);DWORD WINAPI myfun1(LPVOID lpParameter)for (int i = 0; i < HEIGHT; i += 2)DWORD WINAPI myfun2(LPVOID lpParameter)for (int i =1; i

2021-10-27 10:12:31 77

原创 实时路径追踪篇 碰撞加速整合

1.第一步肯定是减少模型面数 比如一面墙2个三角形计算量只有2个2.按模型分开,分为n*n矩阵中,每条光线计算方向判断矩阵储存求交=真的三角形,那么每次光线都先对常用的进行判断3.复用上一个像素的三角形第一个进行判断,比如一面墙大部分求交都是重复的4.she bvh加速,每次都减去一半三角形5.这里只在第一帧使用,80*80先进行小图的碰撞判断,并把三角形数据扩大到大分辨率,之后大部分光线应该都能用上,这一步可以快速获取到大部分的正确碰撞三角形6.比如建立800*800的三角形求交数据,上一

2021-10-27 06:26:00 202

原创 路径追踪 低差异序列 sobol序列采样

sobol 是一种均匀数组替代随机半球采样,对降噪非常好引用如下vec2 ua=sobolVec2(int(frameCounter)+1,maxBounce);vec3 L = SampleCosineHemisphere(ua.x, ua.y, N);完整项目代码https://blog.csdn.net/asaqlp/article/details/120828724fshader.fsh#version 330 corein vec3 pix;out vec4 fragColor;

2021-10-19 23:18:19 2628

原创 路径追踪 重要性采样

vec3 color = vec3(0.5,0.0,0.5);// vec3 color = hdrColor(L);hdrColor() 函数 不知道是什么,随便返回 一个颜色fshader.fsh#version 330 corein vec3 pix;out vec4 fragColor;// ------------------------------------------------------------------------...

2021-10-19 04:43:25 243

原创 路径追踪 GPU 微平面理论与迪士尼 BRDF

直接整合了别人的博客代码最后那个各向异性切线 X 和 Y 变量不知道怎么定义所以没加上直接把上一篇博客 换下面这个fshader.fsh#version 330 corein vec3 pix;out vec4 fragColor;// ----------------------------------------------------------------------------- //uniform uint frameCounter;uniform int nTri

2021-10-18 18:12:56 127

原创 路径追踪 GPU加速SHE BVH加速

color = mix(lastColor, color, 1.0/float(frameCounter+1)); color = mix(lastColor, color, 1.0/(float(frameCounter)+1));代码转载的,修改了上面的代码,可以正常运行了不玩虚的项目代码 https://share.weiyun.com/kxYZuCv6X32 Release 完全优化 库已打包...

2021-10-18 16:22:16 197

原创 路径追踪降噪 加速 小图预采样 优化

有一些降噪的效果,如果小图扩大用渐变色,技能直接降噪了完整代码 https://share.weiyun.com/DpDkb9k1

2021-10-17 02:42:13 103

原创 路径追踪 小图预采样

先光追一张4040小图再光追一张400400的大图,通过对小图的采样信息放大到对应的大图快速整张图光追信息大概采样样本小图放大都是格子,最后分散的时候颜色渐变完整代码 https://share.weiyun.com/YtDDlteH...

2021-10-17 00:22:36 62

原创 光线追踪路径追踪BRDF物理渲染实现

#include <iostream>#include <vector>#include <random>#include <stdlib.h>#include <glm/glm.hpp> // 数学库支持#include <omp.h> // openmp多线程加速#include<freeglut.h>#include<ctime>#include<mmintrin.h&gt

2021-10-13 02:56:34 268

原创 路径追踪低差异序列和重要性采样

#include <iostream>#include <vector>#include <random>#include <stdlib.h>#include <glm/glm.hpp> // 数学库支持#include <omp.h> // openmp多线程加速#include<freeglut.h>#include<ctime>#include<mmintrin.h&gt

2021-10-11 03:55:57 212

1680-1050实时光线追踪 - 代码.zip

OPENGL实时光线追踪实现源代码,支持库freeglut-3.0不喜欢用 可以直接包含GL/GL库

2019-07-03

Optix光线追踪开发SDK完整包

Optix SDK 下载 4.1 . 1 Optix 4 现在 自由 使用 在 任何 应用 , 包括 商业 和 教育 应用 。 为 下载 你 必须 NVIDIA 这些 显影剂 - 。 通过 点击 "Agree & Download"按钮 , 确认 您 已 阅读 并 同意 遵守 软件 开发者 套件 、 采样 工具 和 许可 协议 用于 封装 的 SDK 使用 。 下载 将 开始 后 立即 点击 "Agree & Download"按钮 下方 。 Windows 7 和 更 高 、 64 位 同意 &amp; 下载 Linux 接受 &amp; 下载 Mac OSX 10.9 或 更 高 接受 &amp; 下载 版本 说明 ( 615kB , PDF ) 版本 说明 Optix NVIDIA ® ™ 4.1 . 1 ( 2017 年 8 月 ) 欢迎 来到 的 第一个 重大 更新 的 Optix 4 SDK 。 Optix 4 是 发展 中 的 一个 重要 里程碑 Optix , 完全 重新 实现 的 核心 组件 , 包括 一个 全新 的 基于 LLVM 编译 流水线 。 重新 设计 内部 已经 酝酿 了 几年 , 人们 对 更好 的 总体 性能 、 多 GPU 缩放 , 调试 和 配置 、 以及 其他 特性 。 4 版本 保持 向 后 兼容 现有 的 Optix 应用 提供 的 API , 易于 使用 Optix 是 已知 的 。 Optix 4 现在 自由 使用 在 任何 应用 中 , 它 是 私人 或 商业 性质 , 而 无需 任何 额外 许可 或 批文 。 4.1 版本 是 一个 维护 版本 , 提供 性能 和 鲁棒性 的 改进 以及 最近 支持 CUDA 和 Visual Studio 版本 。 改进 4.1 . 1 主机 存储器 使用量 减少 场景 的 几何 形状 的 大量 实例 。 固定 一 臭虫 , 其 原始 索引 偏移 被 忽略 , 如果 一个 仅 包含 单个 geometrygroup geometryinstance 。 把 一 臭虫 固定 在 有 Optix 素数 的 最小 有效 位 的 浮点数 可以 命中 距离 确定性 的 三角形 中 的 一些 场景 , 根据 其 位置 在 BVH 中 。 所有 样品 使用 Optix CUDA SDK 主要 通过 默认 上下文 。 固定 的 场景 时 许多 材料 共享 geometryinstances 。 固定 内存 泄漏 在 GL Interop 破坏 缓冲器 修正 当 CUDA 计算 高速缓存 有时 没有 踢 中 , 导致 长 的 编译 时间 。 架构 更新 安装程序 以 在 安装 时 避免 安全 问题 的 SDK 。 改进 到 4.1 . 0 支持 CUDA 8.0 支持 Visual Studio 2015 年 建立 自己 的 SDK 各种 错误 修复 , 包括 更 坚固 的 节点 处理 复杂 图形 的 变化 在 某些 情况 下 , 内核 性能 更好 Optix 头 现在 nvrtc 兼容 , 与 运输 带 运行 时 编译 库 ( CUDA 阅读 更 多 ) 改进 4.0 . 2 新 的 EULA , 现在 允许 不 受约束 的 在 商业 应用 中 使用 Optix &bra; 黄金 &ket; Optix 和 几个 固定 的 问题 , 导致 使用 时 故障 trbvh 大 场面 修正 了 一个 问题 , 可能 导致 不必要 的 呼叫 重建 或 BVH 时 rtcontextsetentrypointcount rtcontextsetraytypecount 但 不 改变 表达式 的 值 修正 了 一个 问题 , 可能 会 导致 编译 错误 时 使用 的 不同 原子 类型 的 单个 节目 降低 的 存储器 要求 trbvh 当 使用 多个 改进 鲁棒性 Optix 上下文 &bra; 黄金 &ket; 修正 了 一些 在 内存不足 的 情况 下 RT _ 返回 ERROR _ UNKNOWN _ ERROR 代替 RTP 存储器 分配 失败 _ _ _ 改进 4.0 . 1 固定 “ 无效 设备 ” 错误 , 当 运行 在 某些 情况 下 , 在 GPU 帕斯卡 修正 了 某些 修改 可以 触发 断言 节点 图 修正 了 CPU 回退 的 trbvh 修正 了 一个 问题 , 可能 导致 损坏 输出 当 使用 3D 展开 当 使用 固定 的 性能 问题 的 实例 主要 对 Windows Optix 改进 编译 时 启用 Optix 例外 各种 改进 错误 消息 格式 的 半 添加 处理 rtugetsizeforrtfo

2017-12-01

光线追踪OBJ模型VC源代码

源码完整,效果震撼,2秒一帧1280*800分辨率,算是比较快了,

2017-12-01

IrrAI 0.5 for Irrlicht 1.6

鬼火引擎的npc AI库,有例子

2017-06-26

Irrlicht1.7.2支持中文显示

源代码整套完整

2017-06-15

编译好的boost库1.55

直接解压到D盘, 添加boostest工程的包含目录和库目录 包含目录添加 D:\boost1.55 库目录添加 D:\boost1.55\lib 免去了半个小时的编译时间直接下载就可以用了

2015-06-02

空空如也

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

TA关注的人

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