renderpixels.as

来自「Papervision3d的源码」· AS 代码 · 共 47 行

AS
47
字号
package org.papervision3d.core.render.command{	import flash.display.BitmapData;	import flash.display.Graphics;		import org.papervision3d.core.geom.Pixels;	import org.papervision3d.core.geom.renderables.Pixel3D;	import org.papervision3d.core.geom.renderables.Vertex3DInstance;	import org.papervision3d.core.render.data.RenderSessionData;	import org.papervision3d.view.layer.BitmapEffectLayer;		public class RenderPixels extends RenderableListItem implements IRenderListItem	{		private var pixels:Pixels;		public function RenderPixels(pixels:Pixels)		{			this.pixels = pixels;			this.renderable = Pixels;			this.renderableInstance = null;//pixels;		}				override public function render(renderSessionData:RenderSessionData, graphics:Graphics):void		{			var layer:BitmapEffectLayer = pixels.layer;						var offsetX:Number = layer.width>>1;			var offsetY:Number = layer.height>>1;			var canvas:BitmapData = layer.canvas;						var v3d:Vertex3DInstance;			screenDepth = 0;						for each(var p:Pixel3D in pixels.pixels){				v3d = p.vertex3D.vertex3DInstance;				if(v3d.visible){					canvas.setPixel32(v3d.x+offsetX, v3d.y+offsetY, p.color);					screenDepth += v3d.z;								}			}						screenDepth /= pixels.pixels.length;			layer.screenDepth += screenDepth;			layer.weight += 1;		}	}}

⌨️ 快捷键说明

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