图形学,渲染,数学
文章平均质量分 63
图形学原理、渲染API
AI高工
程序员,AI工程师,分享人工智能、机器学习、大模型、软件工程、游戏开发、网络、云计算
展开
-
图形学与渲染分类目录
一:图形学基本原理和底层细节如 代数、几何、矩阵等数学知识, 物理学、信号处理等教材:计算机图形学(美 Peter Shirley)二:现代图形学渲染API,如OpenGL, Direct3D, Java3D教材:原创 2022-03-07 09:14:04 · 230 阅读 · 0 评论 -
基本求导公式
复合函数求导:链式法则链式法则是将复杂函数进行简单化,其基本表达关系如下:举个栗子比如函数y=(2x+e^x)^21关于y的导函数的计算,咋一看好像很复杂,但根据链式法则就是y=u^2u=2x+e^xdy/du=2udu/dx=2+e^x于是dy/dx=(dy/du)*(du/dx)=(2u)*(2+e^x)=(2*(2x+e^x))*(2+e^x)这样就是把复杂函数化简成我们熟知的常见导函数形式。...原创 2021-11-03 09:09:23 · 8698 阅读 · 0 评论 -
Unity坐标系 左手坐标系
x轴:从左指向右y轴:从下指向上z轴:指向屏幕里的是左手坐标系,指向屏幕外的是右手坐标系记忆小技巧:都是X轴朝右,Y轴向上,跟平时画坐标一模一样,区别只是Z的朝向。你用手试一下就知道了,当大拇指朝右食指朝上时,剩下三指是自然朝手心方向弯曲的,如果反的话很难受。如果忘了的话就想想平时画图,然后左右手比划一下就记起来了。参考: 坐标系原理详解https://blog.csdn.net/ronintao/article/details/52136673#t29...原创 2020-08-25 08:17:38 · 4383 阅读 · 1 评论 -
线性拟合问题的多种解法
相信大家都做过线性拟合问题吧,其实就是给很多点,来求线性方程的斜率和截距。早在高中数学就有这类问题,我记得很清楚,如果出现在试卷中,一般出现在解答题的第二题左右,高中中的做法就是最小二乘法,代入公式,求斜率和截距,说句好听,就是送分题。在科学计算中,也是采用ols(普通最小二乘法)进行回归分析。原文链接:https://blog.csdn.net/weixin_44510615/article/details/105271700。这个就是三大深度学习框架的入门demo。原创 2022-10-25 12:11:54 · 359 阅读 · 0 评论 -
FFT(快速傅里叶变换)
https://blog.csdn.net/enjoy_pascal/article/details/81478582https://blog.csdn.net/WADuan2/article/details/79529900原创 2021-04-22 23:29:23 · 205 阅读 · 0 评论 -
Caucher Birkar教授:数学之美
7月24日,菲尔兹奖得主、刚入职清华的Caucher Birkar教授为丘成桐中学生数学夏令营做题为"数学之美”的讲座。讲稿经整理并由Caucher Birkar博士后曲三太加以修正,特此刊出,与数学爱好者分享。这是一篇值得打印出来,放在案头,细细品读的文章。I'm proud to be in China and teach Chinese students because I think education is something universal and teaching in China原创 2021-10-13 08:21:30 · 842 阅读 · 0 评论 -
可汗学院的数学从零开始学习顺序?
网易公开课有字幕链接:https://www.zhihu.com/question/22655681/answer/110949482来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。算术与代数预备课程:加法与减法(19集)可汗学院公开课:算术与代数预备课程:加法与减法算术与代数预备课程:乘法与除法(26集)可汗学院公开课:算术与代数预备课程:乘法与除法算术与代数预备课程:负数(8集)可汗学院公开课:算术与代数预备课程:负数...原创 2020-06-13 16:02:14 · 1239 阅读 · 0 评论 -
数学,千万别学过火
于是乎,对于大多数人来说,动力没了,而兴趣则完全没有,再加上大学的数学越来越抽象,逐渐变成了天书奇谈,让人恨之入骨的东西。如果以高于自己水平的题目为中心进行学习的话,由于不会做的题目要比会做的还要多得多,数学学习便会渐渐变得索然无味,成为一种负担。因此,在每个单元中,那些应该做到融会贯通的题目才是真正重要的题目,这样的题目并不是太多。另外,大部分学生在学习的时候,总是把每单元的『练习』等难度较高的题目全都做完之后才会转入下一单元。本书将会针对大家的水平和学习的阶段,就如何把握好适当的学习量提出具体的建议。原创 2023-02-07 13:27:22 · 492 阅读 · 0 评论 -
对数运算法则(rule of logarithmic operations)
运算法则公式如下:1.lnx+ lny=lnxy2.lnx-lny=ln(x/y)3.lnxⁿ=nlnx4.ln(ⁿ√x)=lnx/n5.lne=16.ln1=0拓展内容:对数运算法则(rule of logarithmic operations)一种特殊的运算方法.指积、商、幂、方根的对数的运算法则。在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然。 这意味着一个数字的对数是必须产生另一个固定数字(基数)的指数。 在简单的情况下,乘数中的对数计数因原创 2021-10-18 08:48:14 · 61779 阅读 · 0 评论 -
理解矩阵二
接着理解矩阵。上一篇里说“矩阵是运动的描述”,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大家口口相传,差不多人人都知道这句话。但是真知道这句话说的是什么意思的人,好像也不多。简而言之,在我们人类的经验里,运动是一个连续过程,从A点到B点,就算走得最快的光,也是需要一个时间来逐点地经过A原创 2023-02-06 17:35:11 · 387 阅读 · 0 评论 -
数学里的 e 为什么叫做自然底数?
这个数字的存在其实是很「自然」的一件事情……1 / 多少妃子得不到皇帝的宠幸?首先,不扯任何公式,更不扯极限的概念,让我们穿越回古代,看一个在当时应该是很「自然」的事情:皇帝宠幸妃子。问题很简单:假设皇帝在宫中一共有1000位妃子,每天完全随机地抽选一位妃子来宠幸,之后妃子安然无恙地回去,如此以往重复大概3年(1000天),那么,最终有多少位妃子能够得到宠幸、又有多少得不到宠幸呢?答案是:如果每一天确实都完全随机地选妃子,那么1000位妃子里面,最终将会有大约632位被选中过,而..原创 2021-08-02 08:30:24 · 633 阅读 · 0 评论 -
贝塞尔曲线
贝塞尔曲线于 1962 年,由法国工程师皮埃尔·贝济埃(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计,贝塞尔曲线最初由。贝塞尔曲线有着很多特殊的性质, 在图形设计和路径规划中应用都非常广泛, 我就是想在。其中的每个新点都是从前面的几个点形成的,直到形成贝塞尔曲线,递归到最后一个点(称为。还可以将点移动到任意位置(贝塞尔曲线便跟着发生改变了)的方法求出贝塞尔曲线.原创 2023-08-02 18:40:34 · 784 阅读 · 0 评论 -
正交矩阵”,名字不是随便起的
一个非奇异矩阵呢,是否可以说对应一个n维空间的一组向量,而这组向量构成一个坐标系。一个向量乘一个矩阵,就是求这个向量在那个矩阵所代表的新的坐标系各个轴线上的投影组成的新的向量。也可以说,矩阵是一个向量变换器。对于一个非奇异矩阵来说,有些向量特别有意思,它们在这个坐标系里的投影组成的新的向量,正好是原来向量的lambda倍。正交矩阵,就是这样的一个矩阵,它自己在自己身上投影,投影出来的结果是一个单位矩阵I。两个向量的点积,等于一个向量在另一个向量上的投影长度,等于两个向量对应坐标分量之积的代数和。原创 2023-02-07 13:56:56 · 498 阅读 · 0 评论 -
理解矩阵一
前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列原创 2023-02-06 17:27:51 · 491 阅读 · 0 评论 -
45组数学动画
“要是早看到这些图,数学也不会那么差了!一提到数学,可能很多人都会觉得非常头疼。。。面对一个个由数字字母构成的抽象函数,复杂公式,真是分分钟懵逼到变形。。。要是那些复杂的数学公式和原理都能像动画那样生动有趣,简洁明了那该多好!咳咳。。。没错,Janthy君就整理了45组数学动画,让那些费解的数学原理和公式全都动起来,让数学不再枯燥!(按简单到复杂排序~) 1 三角形内角和为180º 2 多边形外角和为360º (这张图片来源于可乐学.原创 2021-08-05 09:52:19 · 1108 阅读 · 0 评论 -
理解矩阵三
如果你觉得你还搞得清楚,请再想一下刚才已经提到的结论,矩阵MxN,一方面表明坐标系N在运动M下的变换结果,另一方面,把M当成N的前缀,当成N的环境描述,那么就是说,在M坐标系度量下,有另一个坐标系N。比如,你画一个坐标系,x轴上的衡量单位是2,y轴上的衡量单位是3,在这样一个坐标系里,坐标为(1,1)的那一点,实际上就是笛卡尔坐标系里的点(2, 3)。2. 从坐标系的观点看,在M坐标系中表现为N的另一个坐标系,这也归结为,对N坐标系基的每一个向量,把它在I坐标系中的坐标找出来,然后汇成一个新的矩阵。原创 2023-02-06 17:38:40 · 672 阅读 · 0 评论 -
正余弦转化之诱导公式:“奇变偶不变、符号看象限”
1.正余弦转化首先看看,正弦、余弦在各个象限中的正负情况,如下图1所示。图1.sinx、cosx在各个象限中的正负号示意图在图1中,左图表示sinx,右图表示cosx。首先看看坐标轴上数字是如何来的!当x轴正半轴沿逆时针方向,旋转90度时,与y轴正半轴重合,旋转180度时,与x轴负半轴重合,旋转270度时,与y轴负半轴重合……坐标轴上的数字由此而来。对于正弦函数sinx来说,当x位于第一、二象限时,为正;当x位于第三、四象限时为负。对于余弦函数来说,当x位于第一、四象限时,为正;当x位于原创 2021-10-28 09:11:41 · 25523 阅读 · 10 评论 -
图解卡尔曼滤波(Kalman Filter)
首先援引来自知乎大神的解释。“一位专业课的教授给我们上课的时候,曾谈到:filtering is weighting(滤波即加权)。滤波的作用就是给不同的信号分量不同的权重。最简单的loss pass filter, 就是直接把低频的信号给1权重,而给高频部分0权重。对于更复杂的滤波,比如维纳滤波, 则要根据信号的统计知识来设计权重。从统计信号处理的角度,降噪可以看成滤波的一种。降噪的目的在于突出信号本身而抑制噪声影响。从这个角度,降噪就是给信号一个高的权重而给噪声一个低的权重。维纳滤波就是一个典型的降噪滤原创 2023-01-12 10:18:19 · 1797 阅读 · 0 评论 -
UE5两大特性:Nanite自动LOD , Lumen实时全局光照
Nanite - virtualized micropolygon geometry(虚拟微多边形几何体技术),直接在游戏中使用高模,无需担心极高面数模型带来的开销 , Nanite几何体可以被实时流送和缩放,因此无需再考虑多边形数量预算、多边形内存预算或绘制次数预算了;也不用再将细节烘焙到法线贴图或手动编辑LOD (Level Of Detail 层次细节技术),画面质量不会再有丝毫损失。基于mesh shader/gpu driven rendering的几何管线,用比较高级的自适应动态细分/遮挡剔..原创 2022-01-05 08:55:02 · 5255 阅读 · 0 评论 -
UE5 虚幻引擎学习资源汇总
虚幻引擎5下载学习资源汇总 - 知乎原创 2022-01-01 00:15:36 · 3844 阅读 · 1 评论 -
Unity 颜色空间(Color Space)Gamma与Line空间
但是呢,如果把所有的采样点都存储下来,图像的大小就会变得很大,带来内存和带宽的巨大压力,更加的得不偿失。相机的光感原件通过均匀的信号采样,存储下采样到的光子数量,就得到了一张图像。Linear Space:会对计算的输入部分进行一个Gamma2.2的处理,得到Gamma1.0这样一个线性的值来计算,对计算的输出部分进行一个Gamma0.45的处理还原到Gamma0.45空间的数值。当你点亮1盏灯时,有1x的光子数量进入人眼,当2盏灯时,有2x的光子数量进入人眼,50盏灯时,就会有50x的光子数量进入人眼。原创 2022-10-12 15:36:47 · 2318 阅读 · 0 评论 -
Unity 模型闪烁
这种情况下当纹理采样的时候,由于绘制像素屏幕坐标与纹理采样uv之间的比率(偏导数)很大,导致相邻屏幕像素采样的纹理颜色跳跃很大,看起来材质上面出现了锐利的条纹和光点,尤其是摄像机或者模型移动的时候,模型表面材质闪烁严重。解决办法 : 把模型的MeshRender 上的 Receive Shadows 关掉(只有非地面的这样处理)比如墙壁上贴着的海报,有可能会有重叠的面。4. Z-Fighting问题,可能模型有重叠面,或着跟其他模型离的太近。一般是因为,这个模型即产生阴影,又接收阴影,原创 2022-10-09 13:27:30 · 7776 阅读 · 1 评论 -
理解在Unity中使用多个相机
根据我的观察,很多Unity 用户统并没有掌握该如何在一个单一场景中使用多个Unity的摄像机,他们对这个概念缺乏一些了解。 “如果我只是想从一个角度看这个场景,为什么我需要使用多个摄像机?”这个问题初听上去很有道理,当多个摄像机从同一个角度捕捉场景的时候会使得它更加混乱。...原创 2022-08-08 00:24:23 · 4319 阅读 · 0 评论 -
Unity ECS 测试Demo
ECS比较适用于场景中有大量独立的agent逻辑的场景,比如RTS,模拟经营这类游戏就很适合用ECS进行优化。 作者:BN的日记 https://www.bilibili.com/read/cv12251470 出处:bilibili原创 2022-07-17 20:03:35 · 1677 阅读 · 0 评论 -
游戏中的镜头语言和应用
一些对3D镜头控制的学习和理解 - 知乎 [游戏美学分享]游戏中镜头语言和分镜应用 - 知乎 重构导播镜头(Directed Camera)——从视觉研究到游戏开发 - 知乎 浅谈镜头设计在游戏中的作用—把握特定瞬间的艺术 - 知乎...原创 2022-03-13 18:05:26 · 2001 阅读 · 0 评论 -
Unity项目技术方案Dots架构方案简介
DOTS全称是Data-Oriented Tech Stack,翻译过来就是多线程式数据导向型技术堆栈(DOTS),它由任务系统(Job System)、实体组件系统(ECS)、Burst Compiler编译器三部分组成。DOTS保证相同类型组件在内存中都是顺序排列,极大程度增加缓存的命中率,此外配合任务系统(Job System)让开发者无需头疼多线程同时访问数据需要手动加解锁的麻烦,最终加持Burst Compiler让性能飞起来。ECS、JobSystem、Burst。这三个组建是可以相互独立使原创 2022-03-13 16:45:03 · 14219 阅读 · 0 评论 -
URP的工作流程源码分析
URP AnalysisURP是unity推出的,用于替代传统build-in管线。该篇为阅读的笔记~URP的入口文件为UniversalRenderPiplineAsset.cs,在该文件中,进行了一系列初始化操作,核心是CreatePipeline函数,创建了渲染管线,默认渲染的render为继承至ScriptableRenderer的ForwardRenderer,初始化默认渲染管线UniversalRenderPipeline。UniversalRenderPipeline首先...原创 2022-03-13 16:09:45 · 4240 阅读 · 0 评论 -
计算机图形学数学基础
计算机图形学必备的数学知识_凌动处理器的博客-CSDN博客原创 2021-11-09 09:07:27 · 629 阅读 · 0 评论 -
Render Hell —— 史上最通俗易懂的GPU入门教程(二)
原文 Render Hell – Book II | Simon schreibt.Pipeline 详解关于本篇文章,我收到的大多数积极反馈是:非常漂亮的演示说明,但是你的 Pipeline 已经是6年前的了!最初我一直不明白这句话是什么意思,直到Christoph Kubisch加入到我的 Render Hell 创作中来,我才明白这句话的含义。他是一名就职于NVIDIA的技术开发工程师,无论我有什么样的问题,他都会为我一一解答。请相信我,我的问题实在是太多了!????我们的讲解都是基于.原创 2021-12-02 22:52:26 · 806 阅读 · 0 评论 -
绝世武功秘籍目录-实时渲染
Real-Time Rendering Resources原创 2021-12-17 08:25:14 · 432 阅读 · 0 评论 -
Shader的合并同类项
在数学中我们学习过:把多项式中的同类项合并成一项叫做合并同类项。同理,提取Shader的相似部分,把多个Shader合并成一个就叫做Shader的合并,也叫合并Shader,偶尔也会引用数学的名词来称呼他为Shader的合并同类项。Shader的合并方式有很多,根据不同的合并技能和方法可以划分为不同的派系。今天优先介绍一种不太常见、但又很实用的派系,往下看。在Shader的合并方法中,MaterialPropertyDrawer(属性定义)可以说是自成一派,但又与其他派系有着千丝万缕的关系,今天我们原创 2022-02-18 10:16:02 · 301 阅读 · 0 评论 -
GPU渲染过程中的Early-Z技术
传统的渲染管线是:应用阶段(CPU) ->几何阶段(顶点着色器) -> 光栅化阶段(片元着色器) -> 各种测试(深度测试,透明度测试,模板测试等) -> 颜色缓冲区(buffer) 一系列测试是在执行过顶点/片元着色器后才执行的,也就是说就算我们指定了一些测试条件来剔除掉一部分像素,但是这些像素还是经过了计算,这部分计算是没有必要的。Over Draw就是这样产生的。early-z是放在片段着色器之前,所以大致的渲染管线可以描述成:...原创 2022-02-18 09:58:46 · 2183 阅读 · 0 评论 -
Render Pipeline渲染管线概述
渲染(Render)定义渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照"。渲染主要分为两种,一种是预渲染(pre-rendering),它的计算强度很大,通常用于电影制作;另一种是实时渲染(real-time rendering),多用于三维游戏,并且依靠显卡完成渲染过程.渲染管线渲染是一个非常复杂的过程,它需要从一系列的顶点、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像,在这个过程中,通常是需要CPU和GPU密切配合,渲染管线具体的实现细节会原创 2022-02-18 09:44:30 · 2423 阅读 · 0 评论 -
25种打断 Unity 渲染合批的原因
Additional Vertex Streams— 对象使用MeshRenderer.additionalVertexStreams设定了额外的顶点信息流。 Deferred Objects on Different Lighting Layers— 该物件位于另一不同的光照层中。 Deferred Objects Split by Shadow Distance— 两个物体中有一个在阴影距离范围内而另一个不是。 Different Combined Meshe...原创 2022-02-18 09:00:52 · 2053 阅读 · 0 评论 -
Unity中的UGUI优化
关于Unity中的UGUI优化,你可能遇到这些问题 - UWA Blog原创 2022-01-27 16:52:19 · 591 阅读 · 0 评论 -
Unity-UGUI网格重建动静分离
一.什么是动静分离 1.操作:讲可以可以活动的元素放在一个CanvasA下,不可活动的元素放在CanvasB下。 2.原因:Canvas下某一个元素变化时,Canvas下的所有元素都会被[网格重建](Rebatch),大量的静态元素是不需要网格重建的。 3.得失: 1.优:减少了大量静态元素反复网格重建的消耗 2.劣:打断了合批二.什么是网格重建 1.工作: ...原创 2022-01-27 16:49:34 · 687 阅读 · 0 评论 -
Unity性能优化降低DrawCall
1. Z轴归零RaceJob与BaseCell 两个对象实例化后, Z轴不为0. 代码中强制为0.原理: Z轴不为0的UI, UGUI 不会对其自动排序.2. 头像UI去除Mask, 同时降低DrawCall与Overdraw使用Custom Image 直接截取其UV 值, 而不是通过 Mask 对其图片进行截取.不但将降低了Mask 的DrawCall, 而且图形在网格部分保证了不会出现重叠导致UGUI 对其排序产生影响.3. 优化会频繁Active 的界面在购买完英雄后, 会覆...原创 2020-12-22 11:51:54 · 929 阅读 · 0 评论 -
Unity基础四: Shader的基本使用
第一个Shader程序:// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'// 我的第一个顶点/片元着色器// 名称Shader "Fan/FirstShader"{ // 声明材质属性是非必需的,此处未声明任何材质属性 Properties { // 属性 // 声明一个Color类型的属性 _Color(原创 2020-08-18 09:11:27 · 3128 阅读 · 0 评论 -
Unity基础三: 什么是Shader
什么是ShaderShader(着色器)是一段能够针对3D对象进行操作、并被GPU所执行的程序。Shader并不是一个统一的标准,不同的图形接口的Shader并不相同。OpenGL的着色语言是GLSL, NVidia开发了Cg,而微软的Direct3D使用高级着色器语言(HLSL)。而Unity的Shader 是将传统的图形接口的Shader(由 Cg / HLSL编写)嵌入到独有的描述性结构中而形成的一种代码生成框架,最终会自动生成各硬件平台自己的Shader,从而实现跨平台。Unity Shad原创 2020-08-18 09:09:00 · 5535 阅读 · 0 评论 -
Unity URP/SRP可编程渲染管线
可编程渲染管线原创 2022-01-20 13:49:21 · 3666 阅读 · 0 评论