rendering

千里马-horse3 天前
rendering·vulkan·平面反射
Building a Simple Engine -- Advanced Topics--Planar reflections现实场景中,光洁的地面、透亮的窗户总能吸引目光,游戏开发中我们常会模拟这类视觉效果。本引擎选用了一种实用且稳定的实现方案 ——平面反射(Planar Reflections)。本文将讲解平面反射的定义、引擎选用该方案的原因、具体实现方式,以及其他反射方案的适用场景。
千里马-horse6 天前
rendering·vulkan·lod·mipmaps
Building a Simple Engine -- Advanced Topics -- Mipmaps & LOD多级渐远纹理(Mipmaps)通过采样纹理的预过滤版本,有效减少走样(aliasing)问题并降低显存带宽占用。细节层次(LOD)的核心本质就是:「当前应使用哪一级 mip 纹理?」。
千里马-horse7 天前
rendering·vulkan·forward+
Building a Simple Engine -- Advanced Topics -- Forward+ renderingForward+ 保留了开发者所熟悉的前向着色模型,同时将逐像素光照循环的计算范围,限定为可能对当前像素产生影响的光源。其核心实现逻辑为:将屏幕划分为多个瓦片(tile)(也可按需增加 Z 轴切片),并通过compute pass(计算通道)生成逐瓦片的光源列表。
千里马-horse9 天前
pipeline·shader·rendering·vulkan
Building a Simple Engine -- Mobile Development -- Conclusion接下来我们将展示如何将上述所有组件整合到一个完整的、针对移动平台优化的 Vulkan 应用中:以下简短、聚焦的教程基于简易引擎展开,是极佳的后续学习内容:
千里马-horse9 天前
android·ios·rendering·vulkan
Building a Simple Engine -- Mobile Development -- Platform considerations为移动平台开发 Vulkan 应用,需要理解 Android 和 iOS 各自的专属要求与约束。本节将剖析各平台的核心适配要点,以及如何针对性调整引擎以适配不同平台。
千里马-horse10 天前
shader·内存优化·rendering·纹理优化·vulkan·压缩格式
Building a Simple Engine -- Mobile Development -- Performance optimizations移动设备的硬件约束与桌面系统存在显著差异。本节将探讨实现移动平台高性能表现所需的核心性能优化策略。注:本章聚焦通用移动平台性能优化。针对基于瓦片的渲染器(Tile-Based Rendering,TBR)GPU 的专属优化实践,请参考Rendering Approaches: Tile-Based Rendering.。
千里马-horse11 天前
rendering·vulkan·崩溃处理
Building a Simple Engine -- Tooling -- Crash minidumps即便经过全面的测试与调试,应用在生产环境中仍可能发生崩溃。此时,健壮的崩溃处理机制能帮助你快速诊断并修复问题。本章聚焦于实用的 GPU 崩溃诊断方案(如 NVIDIA Nsight Aftermath、AMD Radeon GPU Detective),同时阐明操作系统进程小型转储文件(minidump)的作用与局限性 —— 这类文件通常缺失 GPU 状态信息,仅凭其本身很难定位图形渲染 / 设备丢失类问题的根本原因。
千里马-horse12 天前
pipeline·shader·rendering·vulkan
Building a Simple Engine -- Tooling -- Introduction在前述章节中,我们已搭建起简易引擎的基础框架,实现了渲染管线、相机系统、模型加载等核心组件,以及音频、物理等关键子系统。如今,我们将深入探讨支撑专业级 Vulkan 应用开发、调试与发布的工具链生态体系。
千里马-horse1 个月前
c++·rendering·vulkan
Ray Tracing -- Ray query shadows目标:在片段着色器中通过光线查询(Ray Query)实现简单的阴影检测。我们将从每个片段的位置向光源投射一条光线,若光线在到达光源前命中任何几何体,则将该片段调暗(实现硬阴影效果)。
千里马-horse1 个月前
shader·rendering·vulkan·vertex·multithreaded
Multithreading with Vulkan目录Vulkan 多线程编程简介概述实现线程安全的资源管理工作线程实现修改计算着色器更新主循环高级多线程技术
UWA1 个月前
memory·rendering
如何使Bloom只局部地作用于特效以提高性能1)如何使Bloom只局部地作用于特效以提高性能 2)为什么物理内存一直上涨这是第460篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。
UWA2 个月前
性能优化·script·rendering
哪些因素和参数会影响Bloom的性能开销1)哪些因素和参数会影响Bloom的性能开销 2)为何Scripting Threads的#0线程数量异常
UWA6 个月前
数码相机·editor·memory·rendering
虚拟相机的最佳实践参考是什么1)虚拟相机的最佳实践参考是什么 2)内存上涨和释放过慢的问题 3)SpriteAtlasManager.atlasRequested延后一帧回调 4)为何Frame Capture的框关不掉
UWA9 个月前
memory·script·rendering
项目中Warmup耗时高该如何操作处理1)项目中Warmup耗时高该如何操作处理 2)如何在卸载资源后Untracked和Other的内存都回收 3)总Triangles的值是否包含了通过GPU Instancing画的三角形 4)有没有用Lua来修复虚幻引擎中对C++代码进行插桩Hook的方案
UWA9 个月前
memory·platform·rendering
URP相机如何将场景渲染定帧模糊绘制1)URP相机如何将场景渲染定帧模糊绘制 2)为什么Virtual Machine会随着游戏时间变大 3)出海项目,打包时需要勾选ARMv7吗 4)Unity是手动还是自动调用GC.Collect
UWA10 个月前
ui·platform·rendering
如何用GPU Instancing来优化树木草石重复模型1)如何用GPU Instancing来优化树木草石重复模型 2)Unity ASTC压缩后的纹理在部分安卓机型上不显示 3)现在大部分项目的竖版UI设计分辨率是多少 4)Android上拖拽物体不实时跟随手指的问题
UWA1 年前
script·rendering·asset
小游戏中Enable Exceptions的各选项有何区别1)小游戏中Enable Exceptions的各选项有何区别 2)罗纹磨砂玻璃遇到了渲染显示问题 3)二进制模式下调用Addressable返回的结果异常大 4)为什么AssetBundle资源材质因距离远近而丢失宏
UWA1 年前
ui·editor·rendering·asset
为什么UI导入png图会出现白边1)为什么UI导入png图会出现白边 2)升级Unity后产生的Objects泄露现象 3)Unity升级后,加载Framework白屏 4)如何优化轮廓线比较细的锯齿现象
依旧风轻2 年前
ios·rendering·drawing
iOS 开发中,异步渲染和异步绘制在 iOS 开发中,异步渲染(Asynchronous Rendering)和异步绘制(Asynchronous Drawing)虽然有相似之处,但它们并不是完全相同的概念。
UWA2 年前
ios·rendering·assetbundle
iOS包ShaderVariantCollection预热慢问题1)iOS包ShaderVariantCollection预热慢问题 2)使用SBP打Bundle如何读取AssetBundleManifest 3)如何将一张贴图经过Shader处理后的结果输出给另外一个Shader使用 4)为什么我的水这么干净,和UE教程里的有差别