zoukankan      html  css  js  c++  java
  • DirectX903D 颜色

    颜色 

    颜色表示

    颜色用RGB三元组表示。为红色(red)绿色(Green)蓝色(Blue)。

    RGB数据可用两种不同的结构来保存。

    1  D3DCOLOR结构 与DWORD类型完全相同。共有32位。各位被 分成四个8位项(section)每项存储一种分量的亮度量。第个分量的亮度值范围都在[0, 255]区间内。

    2  D3DCOLORVALUE 结构 有单精度浮点数据试题每个量的亮度值, 亮度值的取范围为[0, 1] (0表示没有亮度, 1表示亮度最大)

    可用结构D3DXCOLOR替代D3DCOLORVALUE, 前者包含了后者的数据成员 还提供了一组有用的构造函数和重载去运算符。

     

    顶点颜色

    图元的由构成该图元的顶点的所决定。我们在顶点格式中定义了:

    struct ColorVertex {
    float x, y, z;
    D3DCOLOR color;
    Static
    const DWORD FVF;
    }
    const DWOR ColorVertex::FVF = D3DFVF_XYZ | D3DFVF_DIFFSE;

    着色

    光栅过程中, 要对多边形进行着色(shading)规定利用顶点的来计算构成图元的像素的颜色。 有两种着色模式(shading mode): 平面着色(flat shading)和Gouraud着色(gouraud shading).

    如果 使用flat shading 用第不念旧恶在顶点。其它的被忽略。 但是会呈现出“块状” 因为各颜色没有平滑过渡。Gourau着色可是平滑的。

    设置如下:

    //set flat shading

    Device
    ->SetRenderState (D3DRS_SHADEMODE, D3DSHADE_FLAT);

    //set Gouraud shading

    D evice
    ->SetRenderState (D3DRS_SHADEMODE, D3DSHADE_GOURWUD);

    《DircetX9.0 3D 游戏开发编程基础》笔记

    江西理工大学 FangSH 2010-4-9

  • 相关阅读:
    OC-重写构造方法
    OC-变量作用域
    极光推送
    iOS 学习笔记-关于Button
    关于UIButton的一些用法
    关于tableviewCell 使用的心得
    Xcode 7.2更新插件失败的解决办法
    源代码管理工具的使用心得
    ARC的应用
    OC中的内存管理02
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/1708207.html
Copyright © 2011-2022 走看看