Packageaway3d.core.render
Classpublic class Renderer

A static class for an easy access to the most useful renderers.

Public Properties
 PropertyDefined by
  BASIC : IRenderer
[static][read-only] Fastest and simplest renderer, useful for many applications.
Renderer
  CORRECT_Z_ORDER : IRenderer
[static][read-only] Perform reordering of triangles after sorting to guarantee their correct rendering.
Renderer
  INTERSECTING_OBJECTS : IRenderer
[static][read-only] Perform triangles splitting to correctly render scenes with intersecting objects.
Renderer
Property detail
BASICproperty
BASIC:IRenderer  [read-only]

Fastest and simplest renderer, useful for many applications.

Implementation
    public static function get BASIC():IRenderer

See also

CORRECT_Z_ORDERproperty 
CORRECT_Z_ORDER:IRenderer  [read-only]

Perform reordering of triangles after sorting to guarantee their correct rendering.

Implementation
    public static function get CORRECT_Z_ORDER():IRenderer

See also

away3d.core.render.QuadrantRenderer
away3d.core.render.AnotherRivalFilter
INTERSECTING_OBJECTSproperty 
INTERSECTING_OBJECTS:IRenderer  [read-only]

Perform triangles splitting to correctly render scenes with intersecting objects.

Implementation
    public static function get INTERSECTING_OBJECTS():IRenderer

See also

away3d.core.render.QuadrantRenderer
away3d.core.render.QuadrantRiddleFilter
away3d.core.render.AnotherRivalFilter
Wiki link
Click to go to the wiki page for 'away3d.core.render.Renderer'

Code examples

*Lesson_Intermediate_01_ZOrdering.fla  based on V1.9.2 

// import core library
import away3d.core.scene.*;
// import geometry primitives
import away3d.objects.*;
// import materials
import away3d.core.material.*;
// import mesh type
import away3d.core.mesh.*;
// import basic and correct-z-order renderers
import away3d.core.render.*;

// create a 3D-viewport. use BASIC renderer for now
var view:View3D = new View3D({x:300, y:200, renderer:Renderer.BASIC});
// add viewport to the stage
addChild(view);

// create scene
var cube:Mesh = new Cube({material:"grey#", size:400});
var cubetop:Object3D = new Cube({material:"yellow#", y:255});
var cubeleft:Object3D = new Cube({material:"cyan#", x:-255});
var cuberight:Object3D = new Cube({material:"green#", x:255});
var cubefront:Object3D = new Cube({material:"magenta#", z:-255});
var cubeback:Object3D = new Cube({material:"slateblue#", z:255});
var cubes:Object3D = new ObjectContainer3D(cube, cubetop, cubeleft, cuberight, cubefront, cubeback);
view.scene.addChild(cubes);

// what renderer do we use
var correctzorder:Boolean = false;

// register mouse event handler
cubes.addOnMouseDown(onCubesMouseDown);
function onCubesMouseDown(event:MouseEvent3D):void {
	if (correctzorder)
	{
		// switch to basic renderer - just sort triangle by their centers
		view.renderer = Renderer.BASIC;
		cube.material = new WireColorMaterial("grey");
		correctzorder = false;
	}
	else
	{
		// switch to correct-z-order renderer - reorder triangles after sorting
		view.renderer = Renderer.CORRECT_Z_ORDER;
		cube.material = new WireColorMaterial("white");
		correctzorder = true;
	}
}

// every frame
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
	// rotate cubes
    cubes.rotationY = getTimer() / 100;
	// rerender viewport
	view.render();
}

From Lesson_Intermediate_01_ZOrdering.fla


Comments
No comments found
Please leave a comment

Please leave a comment

security image