主页
分类
标签
归档
主页
分类
标签
归档
贴图UV
贴图UV 一个多边形Mesh中有Index Buffer和Vertex Buffer,其中Vertex Buffer上存储着顶点信息,包括顶点坐标、UV、法线、切线 最开始,我们只有顶点坐标,三角形的边向量叉积可以得到面法线,将面法线求和可以得到顶点法线,切线和次切线的方向就是沿着UV方向,那么问题来了,UV是怎么生成的? UV的用用途 UV是贴图的颜色的索引,可以用来采样贴图,是一种高效的...
2024-03-29
graphics
graphics
阅读全文
Unity保存RenderTarget
Unity保存RenderTarget 使用Unity产出一些美术资产时,经常需要保存某个RenderTarget,最近发现用ReadPixels进行保存时,精度很差,只有8 bits,最后成功搞定了保存32 bits RenderTarget的方法,在此记录一下 屏幕截图 如果想要保存当前屏幕的渲染结果,可以直接调用 ScreenCapture.CaptureScreenshot(pngP...
2024-03-29
engine
engine
阅读全文
C#读表格
C#读表格 这里使用Open XML SDK读xml和xlsx表格 读XLSX 打开一个xlsx static bool readResourceXlsxTable(string xlsx_path, string prefix_path, Dictionary<string, string> id_to_texture_path){ using (Sprea...
2024-03-28
program
program
阅读全文
Perforce入门
Perforce入门 Perforce又称P4、P4V 为什么要用P4 游戏开发一定需要一个版本管理工具,除了保留编辑记录外,还可以保护资产,遇到一些严重崩溃可以回退,不然会出现引擎打不开了,蓝图数据全丢了,一天白干的情况 为什么不使用Git呢?因为Git对二进制支持很差,即使使用LFS,对于动辄几十G的项目也无能为力 而且P4与Git不同,Git是在状态间切换,一旦切分支、拉新,就要将...
2024-03-21
program
program
阅读全文
HLSL 转 Metal
HLSL 转 Metal 为了方便游戏移植到iOS和Mac,苹果近年推出了一个Metal shader converter工具,这个工具可以搭配微软的DXC工具,实现HLSL转化为Metal 编写HLSL DXC将.hlsl转化为.dxil MSC将.dxil转化为.metallib 原生Metal 在了解HLSL转Metal之前,我们需要先知道原生Metal长什么样,我感觉和HLSL还...
2024-02-09
graphics
graphics
阅读全文
小引擎接入简单刚体物理系统
Jolt Physics 最近给小引擎接入了刚体物理系统,发现这个东西真的很简单,在此记录一下 关于物理系统 主流的物理系统接口都很相似,而且制作的非常完善,像刚体物理这种比较基础的模块,接起来十分简单 目前大多数物理引擎,还是在CPU多线程模拟,英伟达有一套基于GPU的,但没有开源 我接入的是Jolt Physics,是一个非常轻量级的物理系统 cmake 代码拉取 https://git...
2024-02-09
graphics
graphics
阅读全文
头发渲染学习
头发渲染学习 最近因为不了解头发渲染的流程,整了乌龙,把正确的结果当成错误了。于是打算学习一下头发渲染的流程 面片发是由大量非平面面片制作,他们的切线沿着头发丝的方向,渲染时开启双面绘制 渲染方程 传入切线 UE5在绘制头发时,向GBuffer的法线位写入的是Tangent WriteGBuffer( Samples_Tangent, // 写入切线而非法线 Samples_Sp...
2024-01-30
graphics
graphics
阅读全文
使用Rust与WebAssembly画三角形
使用Rust与WASM画三角形 概念 WASM是一种二进制格式,我们可以将一些语言编译为这种格式,使得代码可以在浏览器中运行 与Typescript转JavaScript不同,WASM是一种编译好的二进制,性能会比那些“编一句运行一句的代码”性能好 WASM最初是为了C/C++设计的,但也很适合使用Rust,如果你是一个Rust信徒,这套逻辑很适合你 环境安装 Windows 11 + W...
2024-01-29
program
program
阅读全文
C++20特性
C++20特性 现在是2023年,C++23都出来很久了(尽管很多编译器没有实现全功能),但还是有着大量C++11/17的老项目,出于人力和风险的考虑并没有上新标准,我作为一个C++菜鸡,也没想着去了解C++20都更新了什么,直到最近遇到了很多语言层面的问题,于是想着学习一下C++20特性 当然这里面不止C++20 语言特性 指定初始化 可以只初始化一部分,可以指定想要初始化的部分 st...
2024-01-26
program
program
阅读全文
Vulkan学习笔记
Vulkan学习笔记 在过去,我以为Vulkan只有高端安卓才会用,相当复杂,没有下定决心去学。后来发现很多桌面和主机游戏也在用Vulkan,Vulkan真的很出色很重要,于是这几天开始看英伟达nvpro和Vulkan官方教程,打算自己敲一个小demo 我的Vulkan项目 最近搓了一个Vulkan项目,记录一下学习过程 Vulkan API Queue 参考 what-is-act...
2024-01-23
graphics
graphics
阅读全文
上一页
5 / 13
下一页