本文由第三方AI基于17173文章http://news.17173.com/content/2005-3-14/n759_675240.html提炼总结而成,可能与原文真实意图存在偏差。不代表网站观点和立场。推荐点击链接阅读原文细致比对和校验。
Direct3D:方向光VS环境光
2005-03-14 17:08:07
神评论
作者:重剑 来源:NPC6
尽管方向光和环境光在场景中都起照明作用,但他们之间是完全独立的,他们将产生不同的效果,并且他们以完全不同的方式工作。
方向光的特点是有向性.方向光总是有方向和颜色,并且它是shading算法的一个要素,比如Gouraud shading.以不同衰减效果创建的不同类型的光以不同的方式发射方向光,我们可以靠调用IDirect3DDevice9::SetLight方法来设定一套光照参数。
环境光在场景中任何位置都是有效的,你可以认为它是一种同意级别的光充满整个场景,不管物体和他们在场景重的位置,环境光没有位置和方西,仅仅有颜色和亮度,靠设定D3DRS_AMBIENT设定状态参数,输入需要的RGBA颜色作为参数。
环境光颜色采用RGBA模式,其中每个分量是一个0-255的数.与d3d中其他的大多数颜色值不同。
你可以使用D3DCOLOR_RGBA宏来产生RGBA值,红绿兰分量最终合成环境光的色,alpha分量控制颜色的透明度,当使用硬件加速或RGBA模拟,alpha分量忽略。
尽管方向光和环境光在场景中都起照明作用,但他们之间是完全独立的,他们将产生不同的效果,并且他们以完全不同的方式工作。
方向光的特点是有向性.方向光总是有方向和颜色,并且它是shading算法的一个要素,比如Gouraud shading.以不同衰减效果创建的不同类型的光以不同的方式发射方向光,我们可以靠调用IDirect3DDevice9::SetLight方法来设定一套光照参数。
环境光在场景中任何位置都是有效的,你可以认为它是一种同意级别的光充满整个场景,不管物体和他们在场景重的位置,环境光没有位置和方西,仅仅有颜色和亮度,靠设定D3DRS_AMBIENT设定状态参数,输入需要的RGBA颜色作为参数。
环境光颜色采用RGBA模式,其中每个分量是一个0-255的数.与d3d中其他的大多数颜色值不同。
你可以使用D3DCOLOR_RGBA宏来产生RGBA值,红绿兰分量最终合成环境光的色,alpha分量控制颜色的透明度,当使用硬件加速或RGBA模拟,alpha分量忽略。
【来源:】
关于Direct3D的新闻
- (2026-02-25) 开源兼容层 Wine 11.3 发布:UI 主题更名 Aero,改善《激战 2》等游戏表现
- (2025-11-04) 再见微软 Direct2D:火狐 Firefox ** 146 全面转向 Skia 引擎,统一多平台体验

