Zest3D is a 3D engine designed to deliver high performance cross-platform applications from a single codebase. Among its features there is a fast and flexible particle system, which allows developers to create all sorts of effects (e.g. smoke, clouds, etc), even adding dynamic properties to particles. The engine also supports discrete level of detail meshes (DLOD), making it possible to meet up to 21x render speeds. When objects are further away from the viewer, they are switched to lower resolution models to achieve greater performance.

Zest3D comes with a great collection of ‘off-the-shelf’ shader effects. Shaders allow artists and developers to quickly add amazing effects to their 3D objects. Some of the available shaders include texture, cartoon, phong, glass and reflection effects.


package plugin.examples.tutorials.lesson01 
	import io.plugin.core.interfaces.IDisposable;
	import zest3d.applications.Zest3DApplication;
	import zest3d.effects.local.TextureEffect;
	import zest3d.primitives.TorusPrimitive;
	import zest3d.resources.Texture2D;

	public class Lesson01 extends Zest3DApplication implements IDisposable 

		[Embed(source = "../../../../assets/atf/bw_checked.atf", mimeType = "application/octet-stream")]
		private const CHECKED_ATF:Class;
		private var _torus:TorusPrimitive;

		override protected function initialize():void 
			var texture:Texture2D = Texture2D.fromByteArray(new CHECKED_ATF());
			var effect:TextureEffect = new TextureEffect(texture);
			_torus = new TorusPrimitive(effect, true, false);

		override protected function update(appTime:Number):void 
			_torus.rotationY = appTime * 0.001;
			_torus.y = Math.sin( appTime * 0.001 );
3D . URL.