redefy, круто что-то появилось на экране
Код AS3:
package {
import away3d.cameras.*;import away3d.containers.*;import away3d.controllers.*;import away3d.debug.*;
import away3d.entities.*;import away3d.extrusions.*;import away3d.lights.*;import away3d.materials.*;
import away3d.materials.lightpickers.*;import away3d.materials.methods.*;import away3d.primitives.*;
import away3d.textures.*;
//import com.bit101.components.Label;
import flash.display.*;import flash.events.*;import flash.filters.*;import flash.geom.*;
import flash.net.*;import flash.ui.*;import flash.utils.*;import flash.events.*;
/**
* HelloAlternativa3DtoAway3d "Hello world!" application.
* Создание простейшего трёхмерного приложения.
*/
public class HelloAlternativa3DtoAway3d extends Sprite {
private var rootContainer:ObjectContainer3D = new ObjectContainer3D();
private var camera:Camera3D;
private var stage3D:Stage3D;
private var box:Mesh;
private var view:View3D;
public function HelloAlternativa3DtoAway3d() {
// Ресурсы
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage3D = stage.stage3Ds[0];
stage3D.addEventListener(Event.CONTEXT3D_CREATE, onContextCreate);
stage3D.requestContext3D();
}
private function onContextCreate(e:Event):void {
var scene:Scene3D = new Scene3D();
//setup camera for optimal shadow rendering
camera = new Camera3D();
camera.lens.far = 2100;
view = new View3D();
view.scene = scene;
view.camera = camera;
addChild(view);
camera.rotationX = -120*Math.PI/180;
camera.z = -800;
camera.y = 400;
rootContainer.addChild(camera);
var directionalLight:DirectionalLight = new DirectionalLight(-1, -1, 1);
directionalLight.y = 20000;
directionalLight.z = -20000;
directionalLight.x = 20000;
//directionalLight.intensity = 1;//кто-то знает
directionalLight.lookAt(new Vector3D(2000, 0, 0));
//нач свет и тени
var sunLight:DirectionalLight = directionalLight;
var lightPicker:StaticLightPicker = new StaticLightPicker([sunLight]);//[sunLight, skyLight]);
var filteredShadowMapMethod:FilteredShadowMapMethod = new FilteredShadowMapMethod(sunLight);
var material:TextureMaterial = new TextureMaterial(new BitmapTexture(new BitmapData(2, 2, false, 0xFF0000)));// , true));
material.lightPicker = lightPicker;
material.shadowMethod = filteredShadowMapMethod;
material.ambient = 0.5;
//кон свет и тени
var boxG:CubeGeometry = new CubeGeometry(250, 250, 250, 1, 1, 1);
box = new Mesh(boxG);
box.y = 200;
box.material = material;
rootContainer.addChild(box);
var plane:Mesh = new Mesh(new PlaneGeometry(1000, 1000));
plane.material = material;
rootContainer.addChild(plane);
scene.addChild(rootContainer);
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);//Away3d Alternativa
}
private function onEnterFrame(e:Event):void {
box.rotationY -= 1; //в градусах
view.render();
}
}
}
Не понятно, что за фигура, явно не куб, но крутится, теней по прежнему нет, по поводу, что не надо запрашивать контекст - не понял, как сделать "не_надо".