- 博客(19)
- 收藏
- 关注
原创 [翻译]关于GLSL中std140布局中vec3和float的对齐问题
这里,vec3 a从字节0开始,由于vec3具有16字节的对齐要求,因此vec3 b将从偏移为16的字节开始,vec3 a将在其后面填充额外的4个字节,因为下一个vec3 b不能从字节偏移量12开始,这样会违反其对齐的要求,float c本身有4个字节的对齐要求,所以可以在vec3之后开始,所以字节偏移量为16+12=28.对于vec3来说对其要求是16字节,因此每当声明一个vec3时,在vec3开始之间会填充一些字节,以确保vec3符合对齐要求.
2024-01-24 11:56:11
505
翻译 LearnOpengl 半透明顺序无关渲染(OIT)章节翻译
在混合的章节介绍了颜色混合的主题,混合是一种在3D空间中实现半透明表面的方式,总之,半透明深入研究了像是计算机图像中的玻璃那样的半固态物体或者全透明物体的绘制的主题,这个想法在这个章节进行了适当的解释,所以如果你不熟悉这个主题,最好先看看混合章节.在这篇文章中,我们将进一步深入探讨这个主题,因为在3d环境中实现这样一个效果时涉及许多技术。首先,我们将讨论图形库/硬件的限制及其带来的困难,以及透明性为何是一个棘手的主题的原因。随后,我们将介绍并简要回顾过去二十年与当前硬件相关的一些更为知名的透明性技术。最终,
2023-12-08 15:23:54
575
1
翻译 文章翻译|法线矩阵(The Normal Matrix)
我们知道在矩阵变换之前T·N=0,因为从定义上来说这两个向量相互垂直,我们也知道在变换后T’·N’一定仍然是0,因为他们必须保持垂直, T可以安全的乘以模型视口矩阵左上角3x3的子矩阵(T是一个向量,因此W分量为零),我们称此矩阵为M.主要问题在于,通过变换后的点Q2’,Q1’定义的向量,不一定保持垂直,如上图所示,法向量不是定义为两点之间的差异,就像切向量一样,它被定义为垂直于表面的向量.在上面的图中,模型-视口矩阵被应用到所有的顶点以及法线上,但结果显然是错误的:被变换后的法线不再垂直于表面.
2023-10-07 17:25:48
178
原创 在maya中如何修正相机的枢轴点的变化导致相机动画导入引擎后不正确的问题
最近工作中经常遇到外包回来的相机的枢轴点变化,甚至所有值归零后枢轴点也不在世界中心的情况,这种相机动画导入引擎就会出现和maya中相机对不上的情况,这里记录一下解决方法.
2023-01-16 18:45:05
699
翻译 如何在Maya中修改已经绑定后的模型的法线
最近想把尼尔机械纪元的2B导入到UE中看看效果,可不知道是不是我解包的过程有问题,2B模型的裙子部分的发现有问题,而且裙子的模型还被拆分为了3个部分,直接软边是不管用的,而且已经绑定的模型就算修改了法线导出之后也没有效果,本文分为两个部分,分别是翻译的一篇artstation上的文章和我自己的做法。
2023-01-04 23:36:24
1283
原创 Autodesk Maya Unreal LiveLink 构建踩坑记录
Autodesk Maya Unreal LiveLink 构建踩坑记录之前由Epic维护的Livelink插件现在被Autodesk维护的插件代替了,因为涉及到对插件的修改,所以需要重新构建,以下是踩坑记录1.系统和工具要求官方建议是VS2017/2019和Win 10,我这边用的20192.需要准备一份源码版本的unrealEngine,我这边用的是4.27.2.3.clone LiveLink的存储库在Autodesk的github可以找到Livelink的存储库,地址:https://g
2022-05-23 14:35:52
663
原创 UE中渲染自发光通道的折衷方案
UE中渲染自发光通道在使用UE制作动画的流程中,后期环节有些所需的通道,UE本身无法直接渲染。比如自发光,默认情况下自发光通道是没有的,但可以通过一些折中的方式获得。我目前使用的方法是占用各向异性通道来或者自发光通道的ID如下图所示的材质节点![[Pasted image 20220209215419.png]]效果如下![[Pasted image 20220209215428.png]]这里我占用了[[各向异性]]通道作为自发光通道,通常自发光的物体是不需要高光反射的,也就更不需要旋转自
2022-02-16 10:10:19
1508
原创 Games101作业4笔记
Games101作业4笔记作业4的目标是实现贝塞尔曲线的效果,相对来说比较简单。在代码框架中给了两个函数,bezier和recursive_bezierbezier函数bezier函数的作用是遍历t值从0.0到1.0,然年后调用recursive_bezier函数,计算每个t值下曲线点的坐标位置,并将其绘制在window中,代码如下void bezier(const std::vector<cv::Point2f> &control_points, cv::Mat &w
2022-02-16 10:07:27
499
原创 Games101-现代计算机图形学入门学习笔记
Lecture1 计算机图形概述一、图形学的内容1、矩阵,曲线表面2、物理、灯光、着色3、操作几何形体4、模拟、动画、解算二、课程内容1、光栅化把三维空间的几何形体显示再屏幕上(实时30+fps)2、曲线和曲面的操作表示曲线和曲面3、光线追踪渲染真实的画面,牺牲速度、offline4、模拟、动画、解算三、图形学和计算机视觉需要猜测的操作都可以认为是计算机视觉二者目前越来越没有明显的界限±------------Lecture2 向量与线性代数一、学习图形学所需的知识1
2022-01-09 15:39:27
768
原创 如何把Maya坐标系转换到UE坐标系
最近接到一个需求,需要把一个物体在maya中的移动旋转发送到UE中,并且maya中的坐标轴需要能变化一次,UE中则保持原有坐标轴的位置。位移因为位移不基于坐标轴,所以直接把maya中在XYZ轴上的坐标值复制到UE中即可,但要注意Maya是Y轴向上的Ue是Z轴向上的,需要把Y轴数据和Z轴数据交换一下位置。旋转旋转是最难处理的部分,因为UE是Z轴向上的左手坐标系,Maya是Y轴向上的右手坐标系,一开始我想把Maya的数值直接复制到UE里面,然后交换Y和Z轴并且,翻转Z轴的数值,结果发现在0到90度之间,
2021-11-19 13:58:19
5462
1
原创 微积分的本质学习笔记
微积分的本质011、圆形的面积为什么圆的面积公式是Area = πr^2可以将圆分为无数个宽度相同的同心圆环,这保留了圆的对称性。将其中一个圆环拉直并思考他的面积拉直后的图形可以近似看做一个长方形,宽为2πr(根据圆的定义周长公式)高为dr(每一个圆环的宽度),当dr趋近于无限小时,这个图形越趋近于长方形。所以这个圆环的面积可以近似看做2πrdr(dr越小越准确)以圆环的半径r为横坐标已圆环的周长为纵坐标,将每个圆环从小到大排布在坐标系上当dr无限小时,所有圆环的面积之和也就是这个圆形
2021-10-05 11:25:19
3252
原创 UE4 RTXGI插件安装及使用
一、插件安装1、下载插件访问DOWNLOAD RTXGI UE4 PLUGIN点击I Agree To the Terms of the NVIDIA RTX SDKs License Agreement然后点击下载。2、安装插件解压后把RTXGI文件夹放到UE_4.27\Engine\Plugins\Runtime\Nvidia文件夹下,打开UE4.27。在插件管理器中启用NVIDIA RTX Global Illumination插件。然后在项目设置中确保已经打开光追。最后重启UE
2021-09-14 18:05:02
5386
2
原创 RayMarching中的SDF法线计算方法
本文参考自:normals for an SDF - 2015在做RayMarching时,我们获得距离和位置信息后,为了进一步做光照渲染,需要得到物体表面的法线信息。因为我们已经得到了空间中点的位置信息p,以及每个点到最近曲面的距离d,所以可以通过标量函数f§ = d构建一个[标量场( scalar field )]当距离d为一个常量C时,所有距离为C的点p会形成一个表面,这就是这个标量场的等值面,我们要求法线的面就是场景中d=0的面,所以f(p)= 0所表示的等值面就是物体的表面,根据向量场梯度的.
2021-08-27 10:45:20
1314
原创 UE4官方文档毛发部分整合笔记
UE GroomUnreal engine Groom hair1、毛发渲染与模拟2、在项目中启用毛发项目设置插件浏览器3、基本流程4、毛发材质4.5、毛发资产编辑器显示(Show)细节面板1、细节层次2、差值3、发束面板4、发片面板5、程序化生成6、网格体7、材质8、物理5、绑定毛发6、毛发物理与nigara7、毛发控制台命令8、已知限制Unreal engine Groom hair1、毛发渲染与模拟groom毛发并不存在标准格式,在UE4.26中使用Alembic作为从DCC到UE的中转文件格式
2021-07-23 17:27:25
13905
2
原创 Shaders for Game Programmers and Artists阅读笔记Chapter6
Chapter Blurring Things Up
2021-05-11 00:13:10
178
原创 Shaders for Game Programmers and Artists阅读笔记Chapter5
第二部分屏幕效果屏幕效果:将你的视口渲染为一张临时图片并通过着色器对这个图片进行操作从而达到你想要的特殊效果这种效果,因为只需要将屏幕的像素渲染一次,所以无论你的着色器多么复杂这付出的成本都是很低的,但是却可以以这种很低的代价达到很好的效果。Chapter5 Looking Through a Filter制作屏幕特效的流程,首先场景被渲染为一张临时贴图,然后用滤镜对其进行处理最后显示给用户。一些硬件可能会对渲染目标做出限制,如果没有正确显示可以检查输出窗口的错误,...
2021-04-15 00:21:43
129
原创 线性代数的本质学习笔记
线性代数的本质什么是向量1.定义物理:向量是空间中的箭头计算机:有序的数字列表数学:保证两个向量相加以及数乘是有意义的即:n∙[■(x@y)] = [■(n∙x@n∙y)]每个向量可以理解为向一个方向行进一段距离。线性组合、向量张成的空间与基基向量i ̂、j ̂i ̂:在x轴上长度为1的向量j ̂:在Y轴上长度为1的向量对于向量[■(3@-2)]可以看为3i ̂+(-2) j ̂两个经过缩放的向量的和基向量可以任意指定,用数字描述向量时依赖于当前使用的基两个数乘向量的和被称为这
2021-04-03 21:02:51
593
1
原创 Shaders for Game Programmers and Artists阅读笔记Chapter4
Chapter4 学习第一个shader第一个Shader首先创建一个空的Effect group ,右键该节点,导入一个Teapot模型,模型创建完成后你需要告诉RenderMonkey集合体信息如何发送到顶点着色器中,所以需要创建一个Stream Mapping 节点,创建后打开可以看到目前只有一个Position信息,对于这个Shader这些信息足够了。对于这个简单的Shader我们还需要一个叫做View-projection matrix的矩阵,右键添加该变量到我们的效果中,这个矩阵用来将我
2021-03-28 15:20:41
138
原创 Shaders for Game Programmers and Artists阅读笔记Chapter1-3
Chapter 1 Welcome to the world of shaders顶点和像素着色器的管线与功能顶点是3D图形的核心,传输表示几何体所需的所有结构信息,如位置、颜色和纹理信息。这些信息通过API将数据传输到硬件当中,硬件收到信息后调用顶点着色器来处理这些信息。为了渲染几何体所需要的所有信息都要被正确的处理,如位置、颜色和纹理坐标。随着信息的到来,这些信息被放入适当的输入寄存器,v0到v15,供顶点着色器程序使用。这意味着每个顶点都被单独处理,通过输入寄存器最多可以定义16条信息.然后.
2021-03-28 10:48:36
167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人