原文出自: 飞扬天下
地址: http://www.cnblogs.com/flying_bat/archive/2007/10/13/923290.html

环境光的使用比较简单,Direct3D把它作为一个渲染状态,通过调用IDirect3DDevice9::SetRenderState进行设置,对应的状态常数为D3DRS_AMBIENT。

按光源划分,直射光可分为三种:

1)点光源

点光源(Point Light)从一个点向周围均匀地发射光线。点光源有颜色、位置、作用范围,光强随距离而衰减,没有方向。

屏幕剪辑的捕获时间: 2007-6-27, 18:29

2)平行光

平行光(Directional Light)由相互平行的光线组成。平行光只有颜色和方向,没有位置,也没有作用范围和衰减,因此不论实体位于场景的何处,所受到的光照都相同。

屏幕剪辑的捕获时间: 2007-6-27, 18:31

3)聚光灯(Spotlight)是三种直射光中最复杂的一种。它的光束是一个圆锥,分内、外核两部分:内核最亮,且亮度保持不变;外核较暗,沿径向有一个衰减。

屏幕剪辑的捕获时间: 2007-6-27, 18:34

如下图,其中夹角Theta和Phi定义了内、外核的大小。

屏幕剪辑的捕获时间: 2007-6-27, 18:35

聚光灯有颜色、位置、方向(即光束中心所指方向)、作用范围、衰减(沿光线方向)。

在Direct3D中,用结构D3DLIGHT9来描述直射光,它的定义如下:

typedef struct _D3DLIGHT9{

D3DLIGHTTYPE Type;

//类型:只能是点光源、平行光或聚光灯

D3DCOLORVALUE Diffuse;

编者注 :之所以转载 Direct3D相关的3D知识,是个人认为 Direct3D当中描述的一些3D基础,在Flash中是通用的。包括一些3D概念等等,还是有很多值得我们学习的地方。

flash3D开发基础-------灯光(转)相关推荐

  1. flash3D开发基础-------Stage3D中的顶点基础1(散记)

    1.坐标顶点 x,y,z var vertices:Vector.<Number> = Vector.<Number>([ -1,-1,0// x, y, z -1, 1, 0 ...

  2. 虚幻引擎虚拟现实开发基础学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.93 GB |时长:5h 15m 了 ...

  3. 虚幻引擎C++编程游戏开发基础

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:23.8 GB |时长:44h 59m ...

  4. 2017-2018-2 20165236 实验四《Android开发基础》实验报告

    2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计       班级:1652班       姓名:郭金涛     ...

  5. Android游戏开发基础part2--Canvas画布

    游戏开发基础part2--Canvas画布 又过了一周才继续做总结,四级结束了,应该可以多点时间学习游戏编程了. Canvas画布类是一个在游戏当中担当非常重要的角色,它可以绘制出不同的图形和图片,可 ...

  6. 一起谈.NET技术,asp.net控件开发基础(18)

    本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...

  7. android界面数据存储,Android应用开发基础之数据存储和界面展现(二)

    Android应用开发基础之数据存储和界面展现(二) 常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRight ...

  8. SP 短信开发-基础知识篇

    SP 短信开发-基础知识篇 很土的话题,但是最近帮朋友做这个东西,所以写点东西出来给初学者参考. 一.准备资料 SP开发资料网站上有很多,但是主要是以下几个文档: 1.MISC1.6 SP订购通知接口 ...

  9. 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)

    1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimation ...

最新文章

  1. hibernate的一种报错
  2. 迭代求斐波那契数列python_python中的迭代器(以斐波那契数列为主讲解)
  3. 常见Kotlin高频问题解惑
  4. 服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法
  5. 【uoj#174】新年的破栈 贪心
  6. linux系统管理学习笔记之八---linux文件与目录的管理及权限
  7. oracle删除数据释放表空间流程
  8. Git修改提交的用户名和Email
  9. iMazing比iTunes好用在哪些地方
  10. 【图像配准】基于matlab Harris+SIFT图像配准【含Matlab源码 1532期】
  11. StanfordDB class自学笔记 (7) SQL
  12. L1-044 稳赢 (15 分)(JAVA)
  13. vue -lic 搭建vue项目
  14. 彻底搞懂二进制、进制换算如此简单!十进制转化二进制,二进制转化十进制
  15. 想开发一套多人交友app必须知道的
  16. Google的野心 Android未来方向分析
  17. 【备忘】【不定时更新】那些有用有趣的网站君们~~
  18. 原生js 调用电脑摄像头完成拍照
  19. 让程序实现xp界面风格
  20. 全球及中国养老保险行业创新模式分析与投资建议策略报告2022版

热门文章

  1. While True和Try except
  2. Qt实现文件拷贝递归实现
  3. 2007年度全国国际旅行社100强名单
  4. 用excel 调用solidworks 2018 画一个正方体,长在excel sheet1的A1位置,宽在excel sheet1的B1位置,高在excel sheet1的C1位置,写出代码...
  5. 【C语言】C语言三角形打印
  6. php ymt,carcols.ymt转换为XML格式
  7. 谷歌浏览器自带网页截屏工具的使用
  8. Windows 10 专业版高对比度开了之后怎么调回去?
  9. 操作系统-精髓与设计原理(第六版)读书笔记
  10. 全国领先——液力悬浮仿生型人工心脏上市后在同济医院成功植入