| Package | away3d.core.render |
| Class | public class Renderer |
| Property | Defined 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 | ||
| BASIC | property |
BASIC:IRenderer [read-only]Fastest and simplest renderer, useful for many applications.
Implementation public static function get BASIC():IRenderer
See also
| CORRECT_Z_ORDER | property |
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
| INTERSECTING_OBJECTS | property |
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
*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