28.天空盒SkyBoxSceneNode类.doc

28.天空盒SkyBoxSceneNode类.doc

ID:28000257

大小:42.50 KB

页数:8页

时间:2018-12-07

28.天空盒SkyBoxSceneNode类.doc_第1页
28.天空盒SkyBoxSceneNode类.doc_第2页
28.天空盒SkyBoxSceneNode类.doc_第3页
28.天空盒SkyBoxSceneNode类.doc_第4页
28.天空盒SkyBoxSceneNode类.doc_第5页
资源描述:

《28.天空盒SkyBoxSceneNode类.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、28.天空盒SkyBoxSceneNode类以上代码完全参考自2.8天空盒,用的是文章中的第二种方法,即使用一张立方贴图实现天空盒,代码如下:namespaceStunEngine.SceneNodes{///

///天空盒///publicclassSkyBoxSceneNode:Renderable3DSceneNode{#region构造函数和成员变量//////天空盒使用的材质///privateSkyBoxMaterialmaterial;//////创建一个天空盒,需指

2、定天空盒使用的TextureCube的名称///

///引擎///所属场景///天空盒纹理名称publicSkyBoxSceneNode(StunXnaGEengine,ScenesetScene,stringsetSkyboxTextureName):base(engine,setScene){material=newSkyBoxMaterial(engi

3、ne,engine.Content.Load("Effects\SkyBox"));material.CubeTextureName=setSkyboxTextureName;//实现IMaterial接口Imaterial=(IMaterial)material;//不对天空盒进行剔除操作this.DisableCulling=true;this.DisableUpdateCulling=true;}#endregion///

///获取天空盒使用的材质///publicSkyBoxMaterialMaterial{

4、get{returnmaterial;}}///

///初始化天空盒,创建天空盒顶点缓冲。///publicoverridevoidInitialize(){base.Initialize();this.UpdateOrder=SceneNodeOrdering.EnvironmentMap.GetValue();//创建天空盒顶点数据this.mesh=MeshBuilder.CreateSkybox(engine.GraphicsDevice);}//////绘制天空盒。//////

5、name="gameTime">///publicoverrideintDraw(GameTimegameTime,booluseReflection){//当绘制天空盒时需使Z缓冲不可写,但不要忘记在绘制完天空盒后重新使Z缓冲可写。engine.GraphicsDevice.RenderState.DepthBufferEnable=false;engine.GraphicsDevice.RenderState.DepthBufferWriteEnable=false;inttotalPrimitives=base.

6、Draw(gameTime,useReflection);engine.GraphicsDevice.RenderState.DepthBufferWriteEnable=true;engine.GraphicsDevice.RenderState.DepthBufferEnable=true;returntotalPrimitives;}#region单元测试#ifDEBUG///

///测试SkyBoxSceneNode类///publicstaticvoidTestSkyBoxSceneNode(){SkyBoxSceneNode

7、skybox=null;TestGame.Start("测试SkyBoxSceneNode类",delegate{//添加一个天空盒skybox=newSkyBoxSceneNode(TestGame.engine,TestGame.scene,"Textures/SkyCubeMap");TestGame.scene.AddNode(skybox);},delegate{//按空格键切换一张天空盒纹理if(Input.KeyboardSpaceJustPressed){if(skybox.Material.CubeTextu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。