
Shader
文章平均质量分 91
白筱风
哦呼
展开
-
图形学进阶——纹理压缩
纹理压缩百人计划学习链接:【技术美术百人计划】图形 3.6 纹理压缩——包体瘦身术什么是纹理压缩?纹理压缩是为了解决内存、带宽问题,专为在计算机图形渲染系统中存储纹理而使用的图像压缩技术1. 关于内存和带宽的区别?内存:存放临时性数据的场所。带宽:临时性数据的存,取速度的体现。两者者可以说是一个是存放的容量 另一个是显存与外界交换的速度。(自我理解)2. 图片格式与纹理格式的区别?从定义上区别:图片格式存储在内存中纹理格式存储在显存中从原理上区别:为什么要纹理压缩?常原创 2021-08-14 21:19:23 · 1797 阅读 · 0 评论 -
图形学进阶——移动端TB(D)R架构基础
移动端TB(D)R架构基础百人计划学习链接:【技术美术百人计划】图形 3.7 移动端TB(D)R架构基础一、当前移动端的设备概况1. 移动端CPU占比2. 移动端GPU占比3. 各类电子设备功耗对比4. 带宽比较二、专有名词解释1. SOC(System on Chip)System on Chip(Soc)Soc是把CPU、GPU、内存、通信基带、GPS模块等等整合在一起的芯片称呼。常见有A系Soc(苹果),骁龙Soc(高通),麒麟Soc(华为),联发科Soc,猎户座Soc(三原创 2021-07-26 11:10:57 · 2367 阅读 · 2 评论 -
图形学进阶——Early-Z和Z-prepass
关于Early-Z和Z-prepass百人计划学习链接:【技术美术百人计划】图形 3.5 Early-z和Z-prepass一、回顾深度测试渲染管线中深度测试深度测试带来的问题二、提前深度测试——Early-Z关于Early-Z的原理和应用Early-Z如何使用以及使用要点Early-Z的问题以及如何优化三、使用Z-PrepassZ-Prepass的原理如何使用Z-Prepass以及要点Z-Prepass的问题,如何解决其他关于Z-Prepass...原创 2021-07-20 23:56:22 · 9535 阅读 · 1 评论 -
图形学进阶——曲面细分与几何着色器
Tesselaation Shader & Geometry Shader曲面细分着色与几何着色百人计划学习地址:图形 3.3 曲面细分与几何着色器 大规模草渲染一、曲面细分着色器的应用可以不断细化一个锐利的几何体,将它变成球体也可以不断细分一条直线,向曲线逼近也可以与置换贴图结合:二、几何着色器的应用三、着色器的执行顺序顶点着色器——》曲面细分着色器——》几何着色器——》片元着色器注:Hull Shader 细分控制着色器 和 Domain Shader 细分计算着原创 2021-07-04 17:39:18 · 3385 阅读 · 2 评论 -
图形学进阶——深度与模板测试
Z Test & Stencil Test深度测试与模板测试百人计划学习地址:图形 3.1 深度与模板测试 传送门效果示例一、模板测试 Stencil Test流程:1. 什么是模板测试① 从渲染管线出发像素权限测试——》裁剪测试——》透明度测试——》模板测试——》深度测试——》混合等操作——》输出片元到帧缓冲区② 从逻辑上理解就是通过一定条件判断该片元或者片元属性执行抛弃操作还是保留操作③ 从书面概念上理解2 .模板测试的语法表示具体含义需补充referenceV原创 2021-06-26 20:36:43 · 1734 阅读 · 5 评论 -
图形学基础——Flowmap的实现
Flow map百人计划学习地址:图形 2.8 Flowmap的实现一、基础概念首先复习一下UV映射UV坐标用于查找纹理的颜色值什么是FlowMap?Flowmap的实质就是一张记录了2D向量信息的纹理Flow map上的颜色(通常为RG通道)记录该处向量场的方向,让模型上某一点表现出定量流动的特征。通过在shader中偏移uv再对纹理进行采样,来模拟流动效果。Flow Map实现流程通过所带有的向量场的信息对UV进行偏移,并干扰采样的过程,下图时原本的采样效果变得扭曲为什么要使用原创 2021-06-24 19:23:53 · 10027 阅读 · 2 评论 -
图形学基础——BUMP图改进
Bump Mapping 凹凸映射百人计划学习地址:图形 2.5 BUMP图改进一、基础概念凹凸映射技术是对物体表面贴图进行变化然后再进行光照计算的一种技术。例如给法线分量添加噪音,或者在一个保存扰动值的纹理图中进行查找。这是一种提升物体真实感的有效方法,但却不需要额外的提升物体的几何复杂度。这种方式在提升物体的表面细节或者表面的不规则性方面有显著效果。二、凹凸映射的分类Bump Mapping的种类主要有:法线映射、视差映射、浮雕映射。下图分别是:没有使用,使用了发现,使用了视差贴图原创 2021-06-08 21:30:58 · 1204 阅读 · 0 评论 -
图形学基础——HDR与LDR
一、基本概念什么是动态范围 (Dynamic Range)?简称DR,就是指最高的和最低的亮度之间的比值因此有以下两种对应关系LDR = Low Dynamic Range 低动态范围HDR = High Dynamic Range 高动态范围LDR定义如下:8位精度,2的八次方单通道0-1常用LDR图片储存格式:jpg/png等应用:拾色器、一般的图片、电脑屏幕HDR定义如下:远高于8位的精度单通道可超过1常用的HDR图片储存格式:hdr/tif/exr/raw原创 2021-06-02 17:19:13 · 7520 阅读 · 1 评论 -
图形学基础——伽马校正
Gamma矫正颜色空间 (具体内容在之前的文章有讲)sRGB原创 2021-05-25 20:29:45 · 2208 阅读 · 0 评论 -
传统的经验光照模型详解
光照模型也成为明暗模型,用于计算物体表面某处的光强(颜色值)光照模型分为两类:基于物理理论的光照模型:偏重于使用物理的度量和统计方法,遵守能量守恒。例如:PBR经验模型:通过前人的总结的经验对光照的一种模拟,例如:Lambert,Phong,Billing Phong为什么需要光照模型?现实中的光照是极其复杂的,而且会受到诸多因素的影响,有限的计算能力无法完全模拟光照模型发展图局部光照模型定义:局部光照模型只关心直接光照部分,即直接从光源发出并照射到物体表面并反射至摄像头的光线例如原创 2021-04-28 22:25:36 · 1498 阅读 · 0 评论 -
HLSL常用函数介绍
什么是HLSL?高阶着色器语言(High Level Shader Language,简称HLSL),就是用来编写shader的一种语言类似的语言还有:CG它是由NVIDIA公司所开发的,基于C语言同时被OpenGL和Direct3D所支持的开发语言,其语法和HLSL类似。在《GPU编程与CG语言之阳春白雪》中虽然曾认为CG会越来越受欢迎,但遗憾的是,NVIDIA还是抛弃了CG,目前CG的最终版本是3.1。虽然在一些简单的shader编写上还是可以使用,但是在新的硬件环境下还是可能不支持,且对一原创 2021-04-23 15:45:13 · 3157 阅读 · 0 评论 -
模型基础——模型与材质
模型与材质基础渲染管线与模型、材质基础渲染管线模型基础模型的实现原理UV模型UV模型包含的信息(obj文件)材质基础漫反射镜面反射折射粗糙镜面反射粗糙镜面折射多层材质次表面散射改变材质表面模型数据解析纹理动画顶点动画顶点色顶点法线和面法线扩展==作业==渲染管线与模型、材质基础渲染管线顶点着色器->形状装配->几何着色器->光栅化->片段着色器->测试与混合具体细节在之前渲染管线整体流程模型基础模型的实现原理点链接成线,线围成面,组成多边形;至此一个模型空间下的模原创 2021-04-20 12:51:33 · 1236 阅读 · 0 评论 -
色彩空间介绍
色彩空间介绍色彩发送器色彩认知光的要素光源波长能量分布分光光度计光的传播色彩接收器相对亮度感知人眼HDR人眼的感光细胞分布人眼的本质色彩空间历史1800年色彩的猜想:1905年 munsell色彩系统1931年 CIE 1931 RGB COLOR Specification System1931 XYZ Color Specification System色彩空间的定义sRGB常用色彩空间与色彩模型色彩发送器色彩认知光源是出生点,光源发射出光线,光线通过直射反射折射等路径最终进入人眼。人眼接受到光原创 2021-04-18 13:56:07 · 771 阅读 · 0 评论 -
图形学基础——PC手机图形API介绍
工作原理和定义工作原理:电脑是由各种不同的硬件组成,由驱动软件驱使硬件进行工作。所有的软件工程师都会直接或者间接的使用到驱动定义:是一个图形库,用于渲染2D、3D矢量图形的跨语言、跨平台的引用程序编程接口(API)。针对GPU基础概念应用端:即我们自己的程序端,相对于OpenGL ES,我们属于应用端图元:要渲染的几何物体或者形状。比如一个正方形的图片或者两条直线纹理:通俗点可以理解为一张图片,在OpenGL ES中纹理就是图片的另一种叫法纹素:纹理的基础单元,但是不是像素,两者有本质性原创 2021-04-14 10:59:19 · 501 阅读 · 0 评论 -
图形学基础——纹理的秘密
图形学基础——纹理的秘密什么是纹理为什么要有纹理纹理管线纹理采样之Wrap Mode纹理采样之Filter ModeMipmap如何拿到正确的Levelmipmap的进一步优化mipmap的缺陷各向异性过滤纹理相关的常见优化特殊纹理立方体贴图 Cube Map凹凸贴图 Bump Map位移贴图 Displacement map什么是纹理宏观角度:一张图片微观角度:一个容器,具有给着色器读写的结构化储存形式为什么要有纹理减少建模的工作量(同时也会牺牲建模精度)减少存储速度降低了读取速度原创 2021-04-13 14:43:16 · 565 阅读 · 0 评论 -
数学基础——矩阵学习
百人计划的新视频更新啦!看完之后立马笔记做好,视频连接什么是矩阵一个 M x N 的矩阵是由M行N列匀速排序成的矩形阵列特殊矩阵方阵: 行数和列数都相等,即M和N相等,也称作N阶矩阵或者N阶方阵单位矩阵: n x n矩阵 从左到右对角线上的元素是1 其余元素都是0零矩阵:所有元素都是0的矩阵正交矩阵:如果一个矩阵A和他的转置矩阵AT相乘是单位矩阵,那说明这个矩阵是正交矩阵矩阵的运算加减法:必须为同阶矩阵,同位置相加,并且满足交换律和结合律 A+B = B+A (A+B)+C = A原创 2021-03-21 14:28:18 · 2836 阅读 · 0 评论 -
Unity3d 渲染管线整体流程
最新正在学习shader中,正巧翻阅到了霜狼大大的视频,因此写一份学习笔记当做作业,文章末尾放了视频的链接,文章中有错误希望大家能够指出 谢谢!总流程应用阶段几何阶段光栅化阶段逐片源阶段后处理总流程应用阶段 ——> 几何阶段 ——> 光栅化阶段 ——> 逐片源阶段 ——> 后处理应用阶段设置场景基本数据:收集模型的大小,位置和旋转信息、光源类型和光照信息、摄像机参数粗粒度剔除和算法加速:剔除不需要发给几何阶段的物体信息 例:视椎体剔除和遮挡剔除设置渲染状态,准备渲染原创 2021-01-23 16:40:15 · 1493 阅读 · 0 评论 -
Unity Shader中可用的变量类型整理
//Float类型,下面对应变量可以用flaot,half,fixed_Name("Inspector Name", Float) = defaultValue//Float类型,可以用一个滑动条控制范围,下面对应变量可以用float,half,fixed_Name("Inspector Name", Range(min, max)) = defaultValue//颜色类型,下面对应变量...转载 2020-03-15 17:38:30 · 939 阅读 · 1 评论