首页 > 其他分享 >Shading

Shading

时间:2024-03-21 10:48:00浏览次数:16  
标签:mathbf point Fragment Phong shading Shading

Shading

定义:The darkening or coloring of an illustration or diagram with parallel lines or a block of color.
在这里的定义是应用material到object的过程。

A Simple Shading Model —— Blinn-Phong Reflectance Model

Compute light reflected toward camera at a specific shading point.
这个模型讲述的是针对一个shading point怎么计算光线在这点的反射,也就是说这个时候并不考虑物体间的作用只是想光线和这一点的作用,【所以没有shadow】。

\[\begin{aligned}L&=L_a+L_d+L_s=k_aI_a+k_d(I/r^2)\max(0,\mathbf{n}\cdot\mathbf{l})+k_s(I/r^2)\max(0,\mathbf{n}\cdot\mathbf{h})^p\end{aligned} \]

Ambinet,环境光

Ambinet,环境光:是一个常数,\(L_a=k_aI_a\)

Diffuse,漫反射

Diffuse,漫反射:与光的位置和shading point的位置【或参数】相关。
这里有一个遗留问题是,入射到眼睛时就算与观察的角度无关是否与观察的位置远近有关?

其中,光的亮度衰减:

Specular,镜面反射(高光)

Specular highlight,镜面高光:与光、shading point、观察方向相关
当反射光线和观察方向相近的时候,会观察到高光

在Blinn - Phong模型中,等价为半程向量和法线相近时可以观察到高光:

注意到,这里的cosine是指数,原因是为了更好的模拟【相近】这一过程,一般会采用100-200.

Shading Frequencies


一般包括Flat shading(基于三角面)、Gouraud Shading(基于顶点)、Phong shading(基于像素)

Flat shading

Triangle face is flat — one normal vector 。这里其实感觉有个问题,shading是针对point去shading的话,具体的三角形位置选择哪里?

Gouraud Shading

Interpolate colors from vertices across triangle

这里有一个问题就是,顶点的法线怎么计算?
目前常用的方法是取相邻n个面的法线的平均值:

\[N_v=\frac{\sum_iN_i}{\|\sum_iN_i\|} \]

Phong shading

Interpolate normal vectors across each triangle
Compute full shading model at each pixel

Pixel Normal Vectors
通过顶点法线的插值:

Graphics (Real-time Rendering) Pipeline

整个渲染管线集成在GPU(Graphics processing unit)中,在整个渲染管线中有一些可编程的部分,比如我们可以在Vertex Processing的过程中写Vertex Shader,也就是在顶点上着色。在Fragment Processing中写Fragment Shader,也就是在Fragment上着色(这里对Fragment的理解感觉是三角面片覆盖的一些部分)。然后和GLSL的关系就是,可编程的这部分可以用OpenGL或DirectX这部分API帮助。

标签:mathbf,point,Fragment,Phong,shading,Shading
From: https://www.cnblogs.com/code-fun/p/18086633

相关文章

  • PEnum_ElementShading
    PEnum_ElementShading NameDescriptionFIXEDFixed MOVABLEMovable OVERHANGOverhang SIDEFINSidefin USERDEFINEDUserdefined NOTDEFINEDNotdefined    ##############......
  • 5.Shading(着色与渲染管线)
    着色(shading)定义作用于一个物体的材质。着色不考虑其他物体的存在,所以着色不考虑阴影。布林冯反射模型Blinn-PhongReflectanceModel最基础的反射模型Specularhighlights(镜面反射)Diffusereflection(漫反射)Ambientlighting(环境照明)定义观测基础信息开展研......
  • 6.Shading(纹理映射、其他应用))
    纹理映射在物体的不同位置定义不同的属性,用来定义点的不同属性(例如漫反射系数)把地球仪表面的“皮”,剪开平铺就是一个平面。所以说任意三维物体的表面摊开就是二维平面。纹理映射座标在美术人员建模时,通常会在建模软件中利用纹理展开技术把纹理映射座标(texture-mapping......
  • Games101-Cp3-Shading
    Shading的过程就是对物体应用材质的过程。Shading\(\not=\)Shadow。着色模型不包括阴影。Z-Buffering深度缓存用于做深度测试时对深度进行比较。在\([0,1]\)之间取值。应该是可视范围与深度的相除?在开启深度测试的时候,与深度缓存进行比较。如果小于对应像素的深度值则绘制。B......
  • Shading-JDBC使用实例
    Sharding-JDBC是一个开源的数据库中间件,用于实现数据库分片和读写分离。它通过在应用程序和底层数据库之间添加一个透明的中间层来实现数据分片和路由。下面是一个简单的示例,展示了如何在Java应用程序中使用Sharding-JDBC:添加依赖项:在您的项目的构建文件(例如pom.xml)中,添加Shard......
  • Oceans on a Shoestring: Shape Representation, Meshing and Shading(低成本的海洋:形
    作者:HuwBowles单位:StudioGoboIntroduction(简介):StudioGoboisasmallteamoftalenteddevelopersbasedinBrighton/UKTheCrew(成员):BenAndrews,PaulAyliffe,AnastasiosBrakis,JimCallin,ClementDagneauKevinHayes,WillMyles,OlliverReid-Smith,Phi......
  • 09 Shading(Texture Mapping)
    1.TextureMapping下图中,不同位置的反射模型是一样的,但是颜色不同,这是因为漫反射系数不同。同样的,一个点应该还存在着很多属性,那么应当如何定义属性。三维图形的表面可以展开为二维平面,这一个二维平面(包含着对应的三维中三角形的属性)便是Texture。如何实行一个好的纹理映射,是......
  • 08 Shading(Shadding, Pipeline and Texture Mapping)
    关键点Real-TimeRenderingPipelineShader1.Graphics(Real-timeRendering)Pipeline管线1.1PipelineMVP,Rasterization,Z-Buffer,Shading,Texture1.2ShaderPrograms着色器通用程序,用于定义任意像素如何操作。来源[1]Games101.闫令琪......
  • Lens Shading成因及相关
    一个监控摄像头光学处理包含以下几个部分:镜头(Lens)(定变焦镜头)、红外截止滤波片(IR-cutfilter)(红外截止滤光片和蓝玻璃滤光片为主)、图像传感器(ImageSensor)和印制电路板(PCB)。其中,镜头、红外截止滤波片)和图像传感器是组成摄像头的核心部件,也是引起LensShading的主要部分。图分解示意......
  • 3d渲染的shading模型
    flatshadingFLAT指的是把三角形的三个顶点的发现向量都指定为该三角形所在平面的法线向量,这种方式绘制出来的效果能清楚地看到模型上的三角面片。它是块渲染,而不是插值渲......