自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 资源 (10)
  • 收藏
  • 关注

原创 基于ddgi源码的DirectX 12与Vulkan技术对比

本文对比分析了DirectX12与Vulkan图形API的核心技术实现,重点探讨了两种API在描述符系统、设备创建、同步机制、资源管理和光线追踪加速结构等方面的差异。Vulkan采用显式声明和底层控制的设计理念,通过描述符池、队列族等机制提供精细的硬件抽象;而DirectX12则通过集中查询和直观管理实现高效资源控制。在光线追踪方面,两种API均提供硬件加速的BLAS/TLAS加速结构,相比自定义空间分割算法具有显著性能优势。研究结果表明,理解这些技术差异有助于开发者根据项目需求选择合适API并优化实现方案

2026-01-12 17:03:11 460

原创 RTXGI-DDGI:实时光线追踪全局光照的深度技术解析

本文详细解析了DDGI(动态漫反射全局光照)的渲染流程与架构实现。DDGI通过探针网格动态更新场景光照信息,将渲染管线划分为GBuffer生成、探针更新、间接光照采样和合成后处理四个主要阶段。其中探针更新是核心环节,包含射线追踪、数据更新、重定位、分类和变化性计算等子步骤。文章对比了DDGI与路径追踪模式的技术差异,深入剖析了GBufferRGS、PathTraceRGS等关键着色器的实现细节,并介绍了Bindless资源管理、SER优化等关键技术。该技术通过解耦光照计算与几何处理,在保证视觉效果的同时兼顾

2026-01-09 09:55:13 879

原创 PhysX物理引擎解析

本文深入解析了NVIDIA PhysX 4.1物理引擎的核心架构与技术实现。通过分层模块化设计,PhysX将基础数学运算、碰撞检测、约束求解等核心功能解耦,支持多核并行与GPU加速。重点分析了其碰撞检测系统(广相/窄相/CCD)、基于PGS算法的约束求解器、岛屿并行处理机制等关键技术,并探讨了任务调度、内存优化等性能提升策略。研究表明,PhysX通过持续接触流形、智能休眠等创新设计,在保证物理真实性的同时实现了高效的实时仿真,为游戏开发、虚拟现实等领域提供了强大的物理计算支持。

2025-12-30 16:01:28 978

原创 光子映射技术深度解析:从理论架构到工程实现

本文详细介绍了光子映射技术在计算机图形学渲染中的实现方法。该系统采用模块化分层架构,包含基础数据层、核心算法层和渲染调度层,实现了高效的光子追踪、KD树构建与近邻查询、辐射度估算等功能。文章重点解析了光子图构建、光子追踪、辐射度估算等核心环节,并介绍了材质系统对Lambert漫反射、镜面反射和玻璃材质的精准模拟。通过使用Embree加速结构和OpenMP并行计算,系统显著提升了光线求交和光子追踪的效率。完整的渲染流程结合了直接光照计算和基于光子图的间接光照估算,有效解决了漫反射与焦散等间接光照效果的渲染难题

2025-12-22 17:07:25 996

原创 GLSL PathTracer 项目全面深度解析:架构、原理与核心技术

本文介绍了GLSLPathTracer这一基于OpenGL着色语言的高性能路径追踪渲染器的核心设计与实现。该系统采用"CPU预处理+GPU并行渲染"的模块化架构,通过两级BVH加速结构、纹理驱动的GPU数据传输、双着色器渲染策略等关键技术,实现了高质量的物理渲染。重点阐述了场景处理与加速结构构建、GPU数据传输优化、着色器系统设计、增量式分块渲染策略等核心模块的实现原理。该系统融合了现代离线渲染理论(如Disney材质模型、多重重要性采样)与GPU并行计算实践,在保证物理准确性的同时,通

2025-12-17 11:27:12 1183

原创 SDF在实时图形渲染中的核心原理与架构创新

有向距离场(SDF)作为现代图形引擎的核心技术,通过连续标量场表示几何信息,为实时渲染提供高效基础。其核心优势包括平滑插值特性、高效几何查询和分辨率无关性。GPU并行架构通过跳跃泛洪算法(JFA)等优化实现动态SDF高效计算。SDF在全局光照、软阴影、动态漫反射全局光照(DDGI)等高级渲染中发挥关键作用,并与可微分渲染结合实现3D形状优化。尽管面临内存消耗、计算效率等挑战,通过体素哈希、增量更新等技术优化,SDF正发展为未来"SDF-First"渲染架构的核心数据源,有望统一各类图形效

2025-12-04 17:40:35 792

原创 可变速率着色(VRS)技术深度解析:从理论基础到实践应用

可变速率着色(VRS)技术是实时图形渲染领域的重要突破,它通过差异化着色频率优化性能。该技术基于人类视觉特性,允许对非关键区域(如运动模糊、远景等)降低着色精度,同时保持核心区域的视觉质量。主流图形API(DirectX12和Vulkan)通过分层架构实现VRS:基础层提供绘制调用级别的控制,高级层支持基于屏幕空间图像和图元属性的精细控制。VRS在VR注视点渲染、开放世界游戏和移动平台中展现出显著优势,可提升30%性能或降低25%功耗。未来发展方向包括结合机器学习优化着色分配、与光线追踪技术融合,以及持续硬

2025-11-26 10:20:12 680

原创 Bevy ECS Systems与普通函数的关联机制

Bevy游戏引擎的ECS架构通过SystemParamFunction机制将普通函数转换为可执行系统。开发者编写的参数为SystemParam的函数,会被宏自动实现SystemParamFunction trait,然后通过IntoSystem转换为FunctionSystem。执行时,系统获取参数并调用原始函数,同时正确处理生命周期以保证内存安全。这种设计使开发者能专注于业务逻辑,Bevy自动处理系统转换和执行细节。

2025-11-17 11:19:19 580

原创 LightGraph:用最短路径革命参与介质渲染的预计算引擎

摘要:蒙特利尔大学提出的LightGraph算法通过创新性的预计算技术攻克了4K特效渲染的效率瓶颈。该算法采用分治策略,将单次散射与多重散射分离处理:前者使用传统光线步进,后者通过构建稀疏点云网格(MSG)加速计算。关键技术包括自适应飞镖投掷生成点云、改进Floyd-Warshall算法进行最短路径查找,以及高斯核密度估计实现体积光栅化。实验显示其能将爆炸场景渲染时间缩短至传统方法的1/16(32小时→2小时),同时保持视觉质量。这种以可控偏差换取效率突破的工程范式,为复杂介质渲染提供了新思路。

2025-11-13 10:59:22 911

原创 3D Gaussian Splatting:渲染流程

本文详细介绍了基于3D高斯喷洒(3D Gaussian Splatting)的渲染技术实现过程。系统首先加载预训练的3D高斯参数和相机轨迹数据,包括位置坐标、透明度、球谐函数系数、尺度和旋转参数等。核心算法通过球谐函数实现视点相关着色,使用直流分量表示基础颜色,交流分量捕捉视角变化效果。渲染过程包括点投影筛选、协方差矩阵投影、瓦片划分优化和逐瓦片alpha混合渲染,最终生成高质量图像。该方法通过紧凑的数学表示和高效的计算策略,实现了复杂场景的逼真渲染,特别适合处理视角变化引起的颜色变化效果。

2025-11-06 17:18:49 685

原创 gpu driven:vello新执行流程

本文分析了Vello渲染管线的WGSL实现,主要包括8个核心阶段:1)路径标签归约使用并行前缀和算法压缩路径数据;2)路径扫描构建全局索引;3)曲线展平通过误差控制将贝塞尔曲线转换为线段;4)绘制对象处理解析不同绘制命令;5)分箱使用位图标记对象与瓦片的对应关系;6)瓦片分配采用原子操作管理内存;7)粗栅格化生成每瓦片命令列表;8)细栅格化最终像素渲染,通过缠绕数计算和原子操作实现精确填充。整个管线采用GPU并行计算,结合精巧的算法设计,实现了矢量图形的高效栅格化。

2025-10-27 16:50:38 920

原创 Bevy动画系统

本文深入解析了Bevy游戏引擎的动画系统实现。系统采用基于图的结构组织动画,支持复杂混合、遮罩等高级功能。核心包含动画目标、剪辑、动画图和播放器等组件,通过解析GLTF文件加载动画数据,构建节点路径和动画曲线。系统实现了高效的动画评估机制,包括线程化图遍历、评估器缓存和并行处理等优化技术,支持骨骼动画、蒙皮网格和动画事件,为游戏开发提供了强大而灵活的动画解决方案。

2025-10-27 16:46:07 780

原创 Bevy 渲染系统 Bindless 实现与交互逻辑

本文深入解析Bevy游戏引擎的Bindless渲染技术实现。作为基于Rust的现代引擎,Bevy采用"资源数组+索引表"的准Bindless方案,通过AsBindGroup宏自动生成绑定逻辑,支持传统与Bindless两种布局。文章详细剖析了渲染执行流程、宏工作机制、资源管理策略,以及与传统Bindless的区别,揭示了Bevy在跨平台兼容性与性能之间的平衡设计。该实现虽非完全动态,但为WebGPU环境下的大规模资源管理提供了高效解决方案。

2025-10-20 14:39:18 1138

原创 Bevy渲染引擎核心技术深度解析:架构、体积雾与Meshlet渲染

本文深入解析Bevy游戏引擎的渲染架构,重点探讨其体积雾实现原理、Meshlet渲染技术和PBR系统。Bevy采用基于组件的ECS架构,通过RenderGraph构建渲染管线,实现模块化设计。体积雾系统采用光线步进算法,支持平行光、点光源和聚光灯三类光源处理,并引入相位函数和空间抖动优化技术。Meshlet渲染管线通过双遍剔除系统、自适应光栅化(硬件/软件切换)和多级深度处理链显著提升性能。PBR系统与Meshlet深度集成,实现完整的物理渲染流程。架构设计亮点包括分层剔除系统、GPU特性检测和精确资源控制

2025-08-12 15:40:50 783

原创 Rust实现GPU驱动的2D渲染引擎

Vello是一款基于Rust的GPU驱动2D渲染引擎,通过将路径计算、图元处理等任务完全交由GPU并行处理,突破了传统CPU渲染的性能瓶颈。其核心采用13阶段计算管线、前缀和算法及动态分块渲染技术,实现256工作项的高效并行处理,性能较传统方案提升4倍以上。Vello支持复杂矢量图形、文本渲染和高级填充效果,同时利用Rust的内存安全特性确保稳定性。该引擎适用于地图、UI框架等场景,并计划集成光追加速等前沿技术。

2025-07-29 11:09:15 1115 5

原创 RenderDoc抓帧与重放流程

RenderDoc图形调试工具深度解析:采用Qt界面层与核心注入层双模块架构,通过DLL注入实现API指令拦截(支持Vulkan/D3D11/D3D12/OpenGL)。抓帧过程包括进程注入、API函数拦截和Chunk序列存储,通过Socket进行跨进程通信。重放引擎解析.rdc文件并执行指令重放,实现精准帧分析。核心设计优势包括零性能损耗、精准帧界定和无驱动依赖,通过WriteProcessMemory注入和ReplayLog重放等机制,为开发者提供高效的图形调试解决方案。

2025-07-28 17:18:11 1295

原创 TSR,FSR,DLSS超级分辨率的原理分析

超分辨率与深度学习抗锯齿 (DLAA)帧生成光线重建这些特性分别适用于不同的 GeForce RTX GPU 系列,并且通过不断的技术更新和优化,DLSS 已经成为提升游戏体验的重要工具。DLSS 技术通过超分辨率、抗锯齿、帧生成和光线重建等特性,为游戏玩家提供了前所未有的图像质量和性能提升。随着越来越多的游戏和应用支持 DLSS,玩家可以在更多的游戏中体验到这一革命性技术带来的优势。无论是追求极致画质的玩家,还是希望在高分辨率下享受流畅游戏体验的玩家,DLSS 都是一个不可或缺的工具。

2024-06-05 23:13:15 50223

原创 meshshader中对三角形的组织优化

Mesh Shader是一种新型的图形着色器,结合了传统的顶点着色器和几何着色器的功能,提供了更高的灵活性和性能。它允许开发者以更自由的方式组织和处理顶点数据,从而优化渲染流程。Nanite是Epic Games在Unreal Engine 5中引入的一种虚拟化几何体技术,旨在处理极其复杂的几何体数据。它通过细粒度的细分和动态加载,实现了高效的几何体渲染。

2024-05-24 23:55:32 1001

原创 Unreal基础多线程及渲染多线程

unreal engine(ue)支持多线程执行和渲染,优化了游戏和应用程序的性能。在多线程执行方面,ue允许并行处理多个任务,如物理计算、人工智能逻辑和网络通信,提高cpu使用率和响应速度。对于多线程渲染,ue采用延迟渲染技术,将渲染任务分配到多个核心上同时进行,有效减少画面撕裂和提升帧率,为玩家带来流畅的视觉体验。

2024-05-24 11:00:50 1878

原创 gdc2024:Raytracing in Snowdrop技术实现与性能优化策略

图形渲染技术的快速发展中,光线追踪(Raytracing)技术已成为推动高质量渲染效果的关键力量。特别是在Snowdrop引擎中,光线追踪技术的运用不仅优化了控制台游戏的照明管线,还极大地提升了游戏的视觉体验和沉浸感。本文将深入探讨Snowdrop引擎中光线追踪技术的核心技术和优化细节。

2024-05-22 22:49:16 1274

原创 实时角色控制:基于相位函数神经网络的研究

本文提出了一种基于相位函数神经网络(PFNN)的实时角色控制方法,旨在实现高质量、自然流畅的角色运动,并具有良好的环境适应性。该方法包含三个主要阶段:数据预处理、网络训练和运行时。本文对方法的局限性进行了讨论,并提出了未来的改进方向。总体而言,本文提出了一种有效的实时角色控制方法,具有显著的应用前景

2024-04-17 09:30:26 1370

原创 游戏动画技术:从传统到深度学习

文章详细介绍了传统游戏动画技术的原理,包括骨骼动画、蒙皮技术,以及状态机、动作融合和IK等交互控制方法。同时,深入探讨了Motion Matching技术的优势及其在UE5引擎中的实现和优化。此外,文章还特别介绍了基于深度学习的动画技术,如PFNN、MANN和MotorNerve系统,以及它们在游戏开发中的重要应用和前景。无论您是游戏开发者、动画师,还是对游戏技术感兴趣的读者,这篇专业且详尽的文章都将是您的宝贵资源。立即阅读,开启您对游戏动画技术的全新认知之旅!

2024-04-09 10:08:43 3418

原创 基于物理的可微渲染

可微渲染(Differentiable Rendering)是一种新兴的渲染技术,它结合了计算机图形学和机器学习,特别是的技术。与传统的渲染技术相比,可微渲染最大的特点是其渲染过程是的,这意味着可以通过计算渲染图像的梯度来优化渲染参数。需要通过梯度下降算法来学习场景参数、光照条件或材料属性等任务中。

2024-03-28 14:15:54 2735

原创 基于可变分辨率的半透明特效渲染优化方案

粒子效果在游戏中无处不在。大颗粒系统常见于烟雾、火灾、爆炸、灰尘和雾。如果这些效果填满屏幕,overdraw会非常严重,帧率会掉得很快,即使是在技术成熟的 3A 游戏中也是如此。以至于来半透明渲染的优化问题一直都是难题。

2024-03-05 17:03:56 1762

原创 VDB-具有动态拓扑的高分辨率稀疏体积表示方法

论文提出了一个称为VDB的新颖数据结构和算法,它可以高效地表示三维网格上的稀疏、随时间变化的数据。VDB的数据结构基于B+树,包含一个动态的根节点,以及多个内部节点和叶节点层次,这些节点具有不同的分支因子和较小的尺寸。它通过倒序遍历已经访问过的节点来实现随机访问的显著加速,同时保持了固定的树深度和分支因子。

2024-02-10 00:58:20 1787

原创 3D Gaussian Splatting-实时辐射场渲染技术

3D Gaussian Splatting是一种新颖的连续体表示,能够高效地表示场景并支持快速渲染。交错优化高斯点属性和密度控制实现了高斯点集的紧凑表示。基于瓦片的渲染算法实现了高效可微分的渲染,支持了快速训练和实时渲染。方法在多个数据集上实现了高质量和实时效果,同时训练速度和内存占用较低。3D高斯模型可被视为一种介于体积和表面表示之间的折衷,具有广泛的适用性。尽管方法在某些区域存在缺陷,但总体上达到了高质量实时神经辐射场渲染的要求。

2024-01-31 11:42:56 2424

原创 Mesh Shader介绍

Mesh Shader 是一种新型的 GPU 编程模型,它是为了解决传统的图形管线在处理复杂几何体时的瓶颈而设计的。Mesh Shader 提供了一种更灵活、更高效的方式来处理大量的几何体,特别是在现代的实时 3D 渲染环境中。在传统的图形管线中,顶点着色器和几何着色器是按顶点或图元(如三角形)顺序执行的,这种方式在处理大量几何体时可能会导致 GPU 的计算能力没有被充分利用。

2023-05-28 17:47:27 5311

原创 ue多线程简单概述

在任务图中,每个任务都是由一个函数表示,可以在一个线程上执行。这个调度过程是自动完成的,无需手动干预。此外,如果线程需要访问UE的游戏对象和函数,则需要在创建线程时将主线程上下文传递给它。多线程是一种非常复杂的概念,需要对系统的底层结构和算法有深入的了解。在游戏开发中,多线程可以极大地提高游戏的性能,但是如果不小心处理,也可能导致游戏出现各种问题。FRunnable是UE的一个轻量级线程抽象,提供了简单的线程管理和同步方法。总之,UE的多线程模型提供了一种灵活且高效的方法来处理复杂的游戏逻辑。

2023-03-26 01:02:10 1496

原创 unity 性能自适应

每个游戏在一些指标下会导致性能变化比较大,所以这个unity的插件就是为了解决每个时刻对性能影响的控制。他会包括是否动态合批,限制帧率,lod的切换距离,lut的分辨率,msaa的子像素个数,是否支持动态分辨率,csm的个数,阴影贴图的距离,阴影贴图的分辨率,是否开启不透明从前往后渲染顺序,是否渲染半透明物体,远裁剪面距离。

2022-09-30 11:32:45 1919 1

原创 unity core-prefab

添加一个组件到prefab,需要通过将组件对应的对象存在磁盘种后,再标记为prefab的一个部分。这部分在prefab.cpp中。

2022-09-01 22:36:55 1802

原创 unity computeshader的可读写buffer

computeshader中的读写的buffer,在opengl上是用ssbo实现的。KernelState中的inBuffers,outBuffers这些buffer,会走到GfxDeviceGLESSetComputeBuffer,如果索引0x7FFFFF表示GLE中实际上不存在缓冲区,但仍然需要计数器。则用BindShaderStorageBuffer来绑定ssbo,...

2022-07-27 16:54:08 2457

原创 unity spritemask实现

spritemask能实现ui上裁剪部分区域或者叫只显示部分区域。这里介绍相关实现

2022-07-15 17:59:03 2049

原创 unity texturestreaming

texturestreaming是想通过摄像机可见范围内的对象区分指定的mipmap,然后只流送指定的mipmap给到mesh中。

2022-07-15 17:56:16 1540

原创 unity srpbatcher

srpbatcher是使用ubo实现的,如果是不需要更改的信息他不会更新这个对象的ubo的索引。在GraphicsCapsGLES.cpp中初始化时会确定是否使用了es3来确定是否支持srpbatcher。如果支持则在GpuProgramParamsGLES.cpp中填充参数时执行FillParamsBaseGLES。在有使用uniform的情况下更新ubo的绑定对象UpdateUBOBindings。如果有使用srpbatcher则会判断该是否要重新绑定这个ubo的索引。......

2022-06-17 16:22:31 1261

原创 ozzanimation-基于sse的动作系统

ozzanimation是利用sse也就是用simd单指令多数据的形式来处理animation的动作变化、转换坐标以及ik等的处理方式。可以比传统的直接矩阵转换快。

2022-06-07 22:50:22 868

原创 UE5-nanite数据流处理

入口:在DeferredShadingRenderer中的render,如果开启了nanite,会进行数据流的更新。核心入口是Nanite::GStreamingManager.BeginAsyncUpdate和Nanite::GStreamingManager.EndAsyncUpdate以及Nanite::GStreamingManager.SubmitFrameStreamingRequests。初始化:NaniteStreamingManager种对数据流的初始化执行InitRHI,

2022-05-13 00:19:41 2265

原创 ue5-Nanite运行时数据获取

nanite的执行起始:VisBuffer64是可视信息的纹理对象,在NaniteRender.cpp中的FRasterContext InitRasterContext,这里对RasterContext的对象初始化,其中的VisBuffer64就在这里创建的纹理。在LumenSceneRendering的nanite阶段会初始化。除了lumen的处理,在FDeferredShadingSceneRenderer::Render在开启了nanite后也会初始化FDeferred.

2022-04-16 16:37:01 3748

原创 UE5-Nanite构建

在MeshBuilderModule.cpp的FMeshBuilderModule::BuildMesh中执行到StaticMeshBuilder.cpp的BuildNanite会执行nanite的构建NaniteBuilderModule.Build执行到NaniteBuilder.cpp的FBuilderModule::Build分线程构建三角形首先从Sections中拿到材质索引设置到MaterialIndices中。执行BuildNaniteData,根据三角形的数据执行C.

2022-04-10 23:10:25 3974

原创 Unity-URP-基于模板的延迟渲染

URP延迟渲染的差异:在urp的12版本以上支持了延迟渲染,但是这个延迟渲染跟我们之前说的延迟渲染管线会有一些差异。核心是他构建光照这块不太一样。传统的方式是要通过簇的方式创建簇中所有符合的灯光列表,然后最后才根据像素所在的簇给到灯光的颜色叠加。而这个方式的gbuffer部分还是会输出gbuffer0.rgb(漫反射颜色),gbuffer0.a(材质索引),gbuffer1.rgb(高光信息),gbuffer1.a(环境遮蔽),gbuffer2.rgb(世界空间法线),gbuffer2.a(光滑度),g

2022-04-05 15:07:56 5985

原创 ue5-预计算可视性体积(PVS)

构建pvsFStaticLightingSystem::BeginLightmassProcess在lightmass的构建过程中,如果设置了pvs的构建则会一起构建。执行InitiateLightmassProcessor,然后在里面执行LightmassProcessor->InitiateExport在里面如果选择了生成pvs则会创建FGuid::NewGuid然后执行Exporter->WriteToChannel(Statistics, DebugMappin.

2022-04-04 02:30:55 2850

服务器端ActionScript语言参考

服务器端ActionScript语言参考,可以做后台哦

2013-11-06

ozzanimation

ozzanimation

2022-06-07

unity体积光,Sunshaft

unity体积光,Sunshaft

2022-03-06

Mesh Slicer v1.8.rar

Mesh Slicer 是一个可以进行切割人体或者切割其他物体的能力的,他比较好的一点是组织三角面的能力,不会像其他切割网格的方式会产生把多个原本独立的网格连接起来(因为这样索引设置简单)。

2021-10-19

bullet3-master.zip

bullet物理引擎源码

2022-01-07

LuaProfiler-For-Unity-master.zip

unity端测试lua性能的工具,支持 XLua、SLua、ToLua,本工具是基于远程Socket的Profiler工具,因此它支持Android,IOS 的真机 Profiler。

2020-01-08

PlaneReflection.7z

低消耗的实现倒影效果

2021-06-17

MultipleLight.7z

unity低消耗多光源

2021-06-17

PointLightOcclusion.7z

PointLightOcclusion.7z

2021-06-16

Cocos2d-xmobile game development

cocos2d-x mobile game 教程 游戏。绝对有帮助。

2013-11-06

空空如也

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

TA关注的人

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