zoukankan      html  css  js  c++  java
  • D3D中材质通过D3DMATERIAL9结构说明

    光照的两大要素是光源和物体的材质,物体表面材质属性决定了它能反射什么颜色的光线以及反射多少光线。

    一、Direct3D中材质的定义

    D3D中材质通过D3DMATERIAL9结构来表示:

    typedef struct D3DMATERIAL9 {
        D3DCOLORVALUE Diffuse;
        D3DCOLORVALUE Ambient;
        D3DCOLORVALUE Specular;
        D3DCOLORVALUE Emissive;
        float Power;
    } D3DMATERIAL9, *LPD3DMATERIAL9;
    Diffuse-指定表面反射的漫反射光。
    Ambient-指定表面反射的环境光。
    Specular-指定表面反射的镜面光。
    Emissive-表面本身自发光。
    Power -镜面高光,它的值是高光的锐利值,该值越大表示高光强度与周围亮度相差越大。
    表面顶点的颜色亮度总和为:

    D3D中材质通过D3DMATERIAL9结构说明

    I表示物体的颜色值,上式表示物体的颜色总和=物体反射环境光+物体反射漫反射光+物体反射镜面反射光+自发光。

    二、材质的应用

    函数IDirect3DDevice9::SetMaterial()设置Direct3D当前的材质属性:

    HRESULT SetMaterial(
    CONST D3DMATERIAL9* pMaterial
    );

  • 相关阅读:
    JS函数浅析(一)
    H5_canvas与svg
    h5+js视频播放器控件
    【BZOJ3622】已经没有什么好害怕的了
    【9.29 模拟】T3 小清新最优化(easy)
    9.27模拟
    9.26 模拟
    4062 -- 【清华集训2012】串珠子
    【SNOI2017】炸弹
    P3216 [HNOI2011]数学作业
  • 原文地址:https://www.cnblogs.com/wonderKK/p/2240341.html
Copyright © 2011-2022 走看看