博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
D3D中材质通过D3DMATERIAL9结构说明
阅读量:6229 次
发布时间:2019-06-21

本文共 568 字,大约阅读时间需要 1 分钟。

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

一、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
);

你可能感兴趣的文章
golang array, slice, string笔记
查看>>
java 集合、接口
查看>>
AutoMapper用法
查看>>
维护后面的position + 离线 + 线段树 bzoj 3585
查看>>
StringUtils常用方法+StringUtils详细介绍
查看>>
iOS开发之JSON解析
查看>>
iOS开发之Run Loop
查看>>
PDF 补丁丁 0.5.0.2731 发布(增加去除页面表单和链接水印功能)
查看>>
PDF 补丁丁 0.6.0.3355 版发布(修复阅读模式、书签缩放的问题)
查看>>
python 内嵌模块——time
查看>>
关于form与表单操作
查看>>
网络协议
查看>>
同源策略
查看>>
Date——时间戳转化为YYYY-MM-DD h:m:s时间格式
查看>>
MySQL_PHP学习笔记_2015_0907_PHP用pdo连接数据库时报错 could not find driver
查看>>
字符类型
查看>>
Algs4-1.1.5位于0与1之间则打印true,否则打印false
查看>>
分布式存储 FastDFS-5.0.5线上搭建
查看>>
[Java 基础]ResultSet 指定field映射到Pojo对象的Map
查看>>
Oracle 11g OCM 考试大纲
查看>>