⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicprojectionpipeline.as

📁 ActionScript写的3D图片展示功能
💻 AS
字号:
package org.papervision3d.core.render.project{	import org.papervision3d.core.culling.IObjectCuller;	import org.papervision3d.core.geom.TriangleMesh3D;	import org.papervision3d.core.geom.Vertices3D;	import org.papervision3d.core.render.data.RenderSessionData;	import org.papervision3d.objects.DisplayObject3D;		public class BasicProjectionPipeline extends ProjectionPipeline	{				public function BasicProjectionPipeline()		{			super();			init();		}				protected function init():void		{						}				/**		 * project(renderSessionData:RenderSessionData);		 * 		 * Projects all base objects		 * 		 * @returns void;		 */		override public function project(renderSessionData:RenderSessionData):void		{			// Transform camera			renderSessionData.camera.transformView();						//Start looping through all objects in the scene.			var objects:Array = renderSessionData.scene.objects;			var p:DisplayObject3D;			var i:Number = objects.length;				//The frustum camera requires 4x4 matrices.			if( renderSessionData.camera is IObjectCuller){				for each(p in objects){					//Test if the object is set to visible					if(p.visible){						//If we filter objects per viewport..then....						if(renderSessionData.viewPort.viewportObjectFilter){							//...test if the object should be rendered to this viewport.							if(renderSessionData.viewPort.viewportObjectFilter.testObject(p)){								//Calculate the view for this object.								p.view.calculateMultiply4x4(renderSessionData.camera.eye, p.transform);								//And project it.								projectObject(p, renderSessionData);							}else{								//...if the object shouldn't be rendered on this viewport								renderSessionData.renderStatistics.filteredObjects++;							}						}else{							//If we don't filter objects.							p.view.calculateMultiply4x4(renderSessionData.camera.eye, p.transform);							projectObject(p, renderSessionData);						}					}				}			}else{				for each(p in objects){					//Test if the object is set to visible					if( p.visible){						//If we filter objects per viewport..then....						if(renderSessionData.viewPort.viewportObjectFilter){							if(renderSessionData.viewPort.viewportObjectFilter.testObject(p)){								//Calculate the view for this object.								p.view.calculateMultiply(renderSessionData.camera.eye, p.transform);								//And project it.								projectObject(p, renderSessionData);							}else{								//The object is filtered.								renderSessionData.renderStatistics.filteredObjects++;							}						}else{							//Calculate the view for this object							p.view.calculateMultiply(renderSessionData.camera.eye, p.transform);							//And project it							projectObject(p, renderSessionData);						}					}				}			}		}				protected function projectObject(object:DisplayObject3D, renderSessionData:RenderSessionData):void		{			//Collect everything from the object			object.project(renderSessionData.camera, renderSessionData);		}			}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -