图形学

编程入门 行业动态 更新时间:2024-10-23 17:37:15

<a href=https://www.elefans.com/category/jswz/34/1767711.html style=图形学"/>

图形学

概念:对不同物体应用不同材质

llumination

shading着色

Blinn-Phong reflectance model

Diffuse Reflection 漫反射

光打到了shading point上然后光线四面八方均匀散射

光源会根据光源传播的距离进行一定的能量衰减

按球的表面积来算,吸收的能量和光的角度有关系

max(0,n`1)是因为当它是负数的时候就没有物理意义了

漫反射和观察的视角完全没有关系!

Specular Term 高光

观察的方向和镜面反射(v和R)接近的时候可以看到高光(死去的物理突然开始攻击我

好聪明啊,直接拿半程向量是否接近法线来算,简化了计算

为啥有个指数p呢↑↓缩小高光范围!(一般这个指数是100~200)

上图中ks是亮度

Ambient Term 环境光

假设任何一个点接收到的来自环境的光永远相同

所有的光合起来↓:

环境光(常数颜色)

漫反射光(和观测角度无关,和光照和法线角度有关)

高光

着色频率 Shading Frequencies

flat shading

对面

Gouraud shading

对顶点

Phong shading

对每一个像素

Per-Vertex normal Vectors 逐顶点法线

Per-Pixel Normal Vectors 逐像素法线

***记得归一化!把法线变成单位向量!

Graphics Pipeline 实时渲染管线

Vertex Processing

MVP变换

Rasterization

Fragment Processing

Shader Programs着色器

定义顶点/像素/片段进行操作

推荐网站:shadertoy

Shadertoy BETA

Texture Mapping 纹理映射

三维物体的表面(Surfaces)是2D的!

把三维空间中,实际上是二维的物体表面贴上一张图

纹理坐标系(u,v)

一般默认u和v的范围都是0~1

纹理也可以在一个场景里多次重复使用!

Interpolation 插值

一般的计算都是在三角形顶点上,而插值决定了点与点之间的平滑过渡

Barycentric coordinates 重心坐标

三角形平面内任何一个点都可以理解为ABC三个坐标的线性组合

注意 ,在三角形内α,β和γ满足>=0,如果α+β+γ=1只能说这个点跟这个三角形同平面

e.g A的重心坐标是(1,0,0)

α,β和γ也可以通过面积求出

重心把三角形分成了等面积的三个三角形

有种梦回高中的感觉

要在投影前做插值!!!!!因为投影后坐标可能会变!如果已经三维了那么请使用逆变换

Texture queries

Diffuse Color

Point sampling texture 问题

Texture Magnification 纹理放大

纹理上的像素 --texel(纹理元素,纹素)

解决方法:找到非整数坐标的值

Bilinear Interpolation 双线性插值

之前刚好写了篇博客讲怎么算的(感觉其实图形学和cv之间还挺多交集的)双线性插值以及计算_Scabbards_的博客-CSDN博客

这里2d的是取临近周围四个

Application of textures

Bicubic取临近周围十六个

纹理缩小

思路1:走样虽然可以用很多采样点解决,但是计算量太大了

思路2:避免采样

Point Query 点查询vs Range Query 范围查询

Mipmap 多级贴图

用于在近似的范围内做范围查询

先把纹理在渲染之前处理一遍

mipmap 在cv里面叫image pyramid

这些层加起来也只是原存储量的4/3

mipmap原理:放大后的像素可以在相同大小的mipmap上面查询那个位置的平均值,在log2L层上面查询

可视化↓

解决层数之间区别的方法:插值

Trilinear Interpolation 三线性插值

两个双线性插值后面再将两次结果做一次双线性插值

ambient terms

缺点:overblur(过于模糊)
Anisotropic Filtering 各向异性过滤

可以查询原始图像的矩形区域而非限定在正方形区域

对于上图中斜着的也有过滤方法:

EWA

拆成很多圆形去覆盖不规则形状

更多推荐

图形学

本文发布于:2023-12-06 19:29:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1668580.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图形学

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!