|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。对3dmodel施加光源举行衬着,可使用BasicEffect类下的办法来完成。这个类能够完成多半庞大的衬着效果。 LightingEnabled --设置是不是翻开光源衬着。默许为false,也就是场景被衬着时利用“abaselight”一流动的光照亮物体的每一个部分。假如为true,灯光的效果利用在BasicEffect中被界说的效果。
EnableDefaultLightingC利用默许光源效果。假如没有翻开光源衬着,利用该函数也会主动翻开。
PreferPerPixelLightingC开启逐像素光照。
DirectionalLight0、DirectionalLight1、DirectionalLight2--界说衬着时利用的定向光。每一个定向光包括的参数为镜面反射、漫反射光、光源的偏向。当LightingEnable被设置为真的时分这些属性无效。
AmbientLightColor--物体的情况反射色,用0到1之间的浮点数暗示。
关于光照效果:能够分为逐像素光照和逐点光照。
逐点光照:是默许光照,速率快,效果稍差,用于庞大的场景。
逐像素光照:速率稍慢,效果好,用于对每一个像素点举行准确的色采调剂。
//流动的光照
effect.LightingEnabled=false;
//单向点光源
effect.EnableDefaultLighting();
effect.PreferPerPixelLighting=false;
effect.DirectionalLight1.Enabled=false;
effect.DirectionalLight2.Enabled=false;
//点光源
effect.EnableDefaultLighting();
effect.PreferPerPixelLighting=false;
//单向像素光源
effect.EnableDefaultLighting();
effect.PreferPerPixelLighting=true;
effect.DirectionalLight1.Enabled=false;
effect.DirectionalLight2.Enabled=false;
//像素光源
effect.EnableDefaultLighting();
effect.PreferPerPixelLighting=true;
示例下载地点:http://www.52winphone.com/bbs/viewthread.php?tid=292&extra=page%3D1
我觉得很重要,一般所说的不重要应该指的是:你学好一种以后再学另一种就很容易了。(因为这样大家可能有一个错觉就是语言不是很重要,只要随便学一种就可以了,其实不是这样的。 |
|