
图形
文章平均质量分 86
野生的声威
这个作者很懒,什么都没留下…
展开
-
图形相关笔记
Shadow Volumehttps://www.cnblogs.com/chandler00x/p/3958407.html?utm_source=tuicool&utm_medium=referralshadow volume是长啥样的https://blog.youkuaiyun.com/jxw167/article/details/65435329这篇理论讲得比较浅显易懂h...原创 2020-02-14 04:29:28 · 454 阅读 · 0 评论 -
前向渲染(Forward Rendering)和延迟渲染(Deferred Rendering)
前向渲染(Forward Rendering)它的实现最贴合我们的思维逻辑,当我们渲染模型时,只需要关心画模型然后直接处理光照,让它自己去做深度测试,最后深度测试过的都显示在屏幕上。1、对要渲染的物体进行遍历渲染出shadowmap2、再遍历一遍上面要渲染的物体,根据shadowmap对每一个物体的像素进行光照计算优点很明显,就是简单,并且可以针对每个物体指定它的材质,因为每个...原创 2020-01-28 00:39:20 · 6939 阅读 · 0 评论 -
基本光照模型
组成基本方法是把进入摄像机的光线分成4个部分,每个部分分别有一种分发来计算其贡献度自发光(emissive):物体本身产生的光高光反射(specular):光线从光源照到物体表面反射到眼睛里的光漫反射(diffuse):这个部分是光线从光源照到物体表面时,物体向各个方向产生的光。环境光(ambient):这个部分用来描述其他间接的光。我觉的可以理解成整体的一个基础颜色公式自发光...原创 2020-01-27 19:41:23 · 783 阅读 · 0 评论 -
广告牌技术(Billboard)
作用在3D空间里创建一个面片,使其始终面向摄像机。不同于UI的一点,是因为它在3D空间里,会有近大远小的特点,而UI大小始终不变。由于需要渲染两个三角面,所以是一种常用的优化手段。普遍用于游戏中的粒子,当然有些骚操作还会用来替代模型(近处是模型,镜头拉远到一定程度就替换成图片)缺点因为细节比较少,并且有始终面向摄像机的特性,所以如果用来替代模型的话,其他镜头角度就会穿帮。原理其...原创 2020-01-27 17:17:24 · 1190 阅读 · 0 评论 -
水波纹
早在没当程序员之前其实就接触过格式工厂了,当时经常把玩它的图片区域,因为水波纹效果实在太酷炫了。然后也一直想做出这种效果,但是一点思路都没有。趁着过节有时间,就想了却这个心愿,就去网上找教程。发现了https://download.youkuaiyun.com/download/jilijelon/4506888正好是我想要的效果,虽然没有去比对过是否跟格式工厂的一样,但这种其实就是我想要的效果。我看...原创 2020-01-25 00:43:07 · 637 阅读 · 0 评论 -
如何制作一个拾色器
之前因为做编辑器需要用到拾色器,刚好这部分知识不太常用,而且很多图形学的入门书籍都没怎么提到过这个知识点。所以我翻查了下资料,并做了下总结这是photoshop的拾色器,我们称它为HSB拾色器。这里不探讨HSB的原理是啥,这个拾色器,所以请自行百度。这里只探讨右侧色相和左侧正方形拾色区域是如何形成的1、首先只需要了解HSB 拾色器是由色相、饱和度、明度三部分组成。色相其实原型是个360...原创 2020-01-12 17:08:58 · 1081 阅读 · 0 评论 -
投影矩阵
一直以来其实都有点不是特别想去研究投影矩阵,主要原因是现在的游戏引擎这部分基本都不需要你去看和改动,因为它过于底层,也基本不会出错,所以根本没有机会接触。另一个原因是因为它偏数学,推导过程的话容易记不住。所以除非自己手搭一个渲染引擎,否则应该极难有动力。虽然这个稍嫌枯燥,但其实还是有些好奇的,所以今天也是趁着有空,打算彻底搞清楚,记不记得住就看天意了。这里要感谢这篇博客,整个推导过程我觉得写得...原创 2020-01-02 02:26:42 · 330 阅读 · 1 评论 -
阴影渲染
平行光根据当前摄像机位置和平行光方向向后拉开一定距离并创建一个shadowmap摄像机(CameraPos - LightDir * Length),然后渲染出shadowmap,shadowmap无非就是把shadowmap摄像机看到的物件都简单渲染一遍,将物体的深度信息写到shadowmap里然后在光照pass的时候,渲染物件每个像素时,需要比较当前像素的深度值和与贴图里记录的深度值大小...原创 2019-12-01 16:26:48 · 362 阅读 · 0 评论 -
行列主序矩阵
因为之前接触的是虚幻,用的是DX,所以接触的是行矩阵。最近一年接触自研引擎,用的是OpenGL的列矩阵。然而我之前图形基础没打好,以至于很长一段时间没弄清楚涉及到矩阵相关的一些问题。所以乘着自己意识清醒,还是应该梳理一下。1、什么是行矩阵什么是列矩阵2、什么时候向量是前乘什么时候是后乘3、构造旋转位移缩放矩阵时,矩阵乘法应该按照什么样顺序行矩阵r11 r12 r13 0...原创 2019-11-03 23:03:41 · 3220 阅读 · 6 评论 -
UE3中如何使用Instance技术
前言Instance技术其实就是将一个模型实例化成多份的技术,只要向GPU提交一份模型顶点数据和一堆Transform矩阵,就能创建多份相同的模型。因为只需要一个Drawcall,所以如果需要渲染多个相同的模型,用这个方式可以大大提高性能。其原理其实就是向GPU提高两个VertexBuffer,一个是模型的顶点数据,另一个就是Transform矩阵,DX和OpenGL各有各的API来设置第二个...原创 2019-11-03 00:38:11 · 1493 阅读 · 0 评论 -
导出UE3材质研究
最近在研究如何将UE3的材质(UMaterial)导出,主要是先前在UE3项目中累计了不少材质资源,希望有办法迁移到自研引擎当中。因为自研引擎用的是纯HLSL和GLSL语法,所以理论上是可以直接转化的。因为UE3的材质编辑器自带了材质翻译成shader代码的功能,所以我们想要的所有功能其实在源码里都能找到。有几个事情要做:1、知道材质编辑器表达式的连接关系在代码里是怎么表示的2、知道如...原创 2019-11-02 22:31:22 · 431 阅读 · 0 评论 -
UI优化相关实现
初始情况我们采取的是树形结构的UI,你可以理解成跟HTML类似的层级结构。做法也很传统,每一帧都从根节点出发遍历所有节点,对有渲染用途的节点会收集顶点数据并判断是否能合并批次。渲染也中规中矩,从后往前不开深度测试和深度写进行渲染瓶颈一:大量无渲染功能的UI节点UI树大部分情况下需要渲染的节点只占整棵树的一小部分,剩下的很大一部分要么隐藏了,要么只是起到布局作用,类似HTML中DIV的功...原创 2019-10-27 22:33:06 · 291 阅读 · 0 评论 -
伽马矫正
很多文章已经介绍了伽马矫正是怎么一回事了,这里我就只介绍下,我实际工程中怎么用的。顺便安利一下一篇伽马矫正的博客,我觉的这个举的例子就挺通俗易懂的,特别是关于混合那块https://www.jianshu.com/p/e15932c40bea首先常用的姿势就是将采样用的图片都设置成SRGB,这样硬件就能将图片转换到线性空间进行计算,然后在渲染流程的最后一步加一个全屏的伽马矫正,将所有线性空间...原创 2019-10-27 18:06:49 · 925 阅读 · 0 评论 -
骨骼蒙皮动画
网上更详细的骨骼蒙皮动画相关的知识,可以参考“骨骼蒙皮动画(SkinnedMesh)的原理解析”这个标题的博客,这里也就不多赘述,这里仅对我实际工作中使用的游戏引擎是如何实现这一事情做一个总结,不代表所有引擎的实现方式都是下面这种,毕竟可以有很多种方式实现这个事情,但大致原理不尽相同。顶点格式首先从模型的顶点格式上讲,一般模型顶点数据包括Position(顶点位置)、Normal(顶点法线...原创 2019-10-27 16:45:51 · 910 阅读 · 0 评论 -
虚幻3粒子编辑器学习过程
前言一开始接触虚幻3粒子相关模块是因为公司希望做一个面向用户的粒子编辑器,所以需要简化虚幻3粒子编辑器的一些功能以及加一些本土汉化,所以就开始着手粒子相关的研究。因为是在虚幻3基础上开发,所以一开始的学习成本其实比较低,不需要知道渲染相关的知识,只要会用它API就够了。当然后面会说粒子渲染相关的知识,我们先来说说粒子编辑器所需要具备的一些知识。基础虚幻3中如果想要粒子功能,就需要用到U...原创 2019-10-14 00:13:40 · 761 阅读 · 0 评论 -
图形卷积相关
一开始听到这个名词的时候觉得是个特别遥远的数学名词,后来理解发现当我还不知道它的时候我已经在用了,其实说来也简单,在采样某个像素的贴图时,将当前像素与周围像素按照一定比例叠加到一起,最终就得到一个新的像素颜色,最简单的用途就是模糊了。开个坑记录一下,我用到或知道的一些卷积核高斯模糊首先是高斯模糊,它满足正态分布,具体正态分布的公式我也忘了,所以直接给出最后的推导结果。这里σ我们自己定,值越...原创 2019-10-13 16:28:33 · 494 阅读 · 1 评论 -
描边
大半年前学会了描边,但是一直没时间整理,加上描边在手机上性能可以预见不咋滴,所以这块很久都没管了,趁现在有空整理一下学习的过程。当时人比较菜,找了很多资料来看,有些描边效果不是特别满意,有些技术又理解不了。给出的描边方案大体包括以下这几种1、画模型的时候,如果有些像素的法线跟摄像机平行则认为是边界,需换成描边色2、剔除掉正面,沿法线放大,通过画背面的方式来画描边3、用sobel算子...原创 2019-10-13 04:43:41 · 433 阅读 · 0 评论