flash3D开发基础-------灯光(转)
原文出自: 飞扬天下
地址: 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开发基础-------灯光(转)相关推荐
- flash3D开发基础-------Stage3D中的顶点基础1(散记)
1.坐标顶点 x,y,z var vertices:Vector.<Number> = Vector.<Number>([ -1,-1,0// x, y, z -1, 1, 0 ...
- 虚幻引擎虚拟现实开发基础学习教程
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.93 GB |时长:5h 15m 了 ...
- 虚幻引擎C++编程游戏开发基础
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:23.8 GB |时长:44h 59m ...
- 2017-2018-2 20165236 实验四《Android开发基础》实验报告
2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:郭金涛 ...
- Android游戏开发基础part2--Canvas画布
游戏开发基础part2--Canvas画布 又过了一周才继续做总结,四级结束了,应该可以多点时间学习游戏编程了. Canvas画布类是一个在游戏当中担当非常重要的角色,它可以绘制出不同的图形和图片,可 ...
- 一起谈.NET技术,asp.net控件开发基础(18)
本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...
- android界面数据存储,Android应用开发基础之数据存储和界面展现(二)
Android应用开发基础之数据存储和界面展现(二) 常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRight ...
- SP 短信开发-基础知识篇
SP 短信开发-基础知识篇 很土的话题,但是最近帮朋友做这个东西,所以写点东西出来给初学者参考. 一.准备资料 SP开发资料网站上有很多,但是主要是以下几个文档: 1.MISC1.6 SP订购通知接口 ...
- 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)
1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimation ...
最新文章
- hibernate的一种报错
- 迭代求斐波那契数列python_python中的迭代器(以斐波那契数列为主讲解)
- 常见Kotlin高频问题解惑
- 服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法
- 【uoj#174】新年的破栈 贪心
- linux系统管理学习笔记之八---linux文件与目录的管理及权限
- oracle删除数据释放表空间流程
- Git修改提交的用户名和Email
- iMazing比iTunes好用在哪些地方
- 【图像配准】基于matlab Harris+SIFT图像配准【含Matlab源码 1532期】
- StanfordDB class自学笔记 (7) SQL
- L1-044 稳赢 (15 分)(JAVA)
- vue -lic 搭建vue项目
- 彻底搞懂二进制、进制换算如此简单!十进制转化二进制,二进制转化十进制
- 想开发一套多人交友app必须知道的
- Google的野心 Android未来方向分析
- 【备忘】【不定时更新】那些有用有趣的网站君们~~
- 原生js 调用电脑摄像头完成拍照
- 让程序实现xp界面风格
- 全球及中国养老保险行业创新模式分析与投资建议策略报告2022版
热门文章
- While True和Try except
- Qt实现文件拷贝递归实现
- 2007年度全国国际旅行社100强名单
- 用excel 调用solidworks 2018 画一个正方体,长在excel sheet1的A1位置,宽在excel sheet1的B1位置,高在excel sheet1的C1位置,写出代码...
- 【C语言】C语言三角形打印
- php ymt,carcols.ymt转换为XML格式
- 谷歌浏览器自带网页截屏工具的使用
- Windows 10 专业版高对比度开了之后怎么调回去?
- 操作系统-精髓与设计原理(第六版)读书笔记
- 全国领先——液力悬浮仿生型人工心脏上市后在同济医院成功植入