Skip to content

Basic usage example

Gerd Christian Kunze edited this page Aug 22, 2013 · 4 revisions

// Create Engine instance

var Engine = TJSApi.Engine();

// Init Engine

Engine.Renderer(
		Engine.Factory().Renderer().WebGL()
	).Camera(
		Engine.Factory().Camera().Perspective()
	).Scene(
		Engine.Factory().Scene()
	);

// Setup Renderer

Engine.Renderer()
	.Display( 'jQuery-Selector of element to add the canvas' );
//	.Width( 800 )
//	.Height( 600 );

// Setup Camera

Engine.Camera()
	.FieldOfView( 40 )
	.AspectRatio(
		Engine.Renderer().Width() / Engine.Renderer().Height()
	)
	.NearClippingDistance( 0.1 )
	.FarClippingDistance( 10000 );

// Setup Scene

Engine.Scene().Add( Engine.Camera() );

// Add a Cube
var Material = Engine.Factory().Material().Mesh().Basic();

var Cube = Engine.Factory().Mesh().Basic(
	Engine.Factory().Geometry().Cube( 300, 300, 300 ),
	Material
);

Engine.Scene().Add( Cube );

// Add a Torus (with identical Material)

var Torus = Engine.Factory().Mesh().Basic(
	Engine.Factory().Geometry().Torus( 500, 30 ),
	Material
);

Engine.Scene().Add( Torus );

// Modify Cube ( AND Torus ) Material a little bit (after creation) maybe?

Material.Color('#00FF00');
Material.WireFrame(true);

// Lets get a better view..

Engine.Camera()
	.PositionZ(1000)
	.PositionY(1000)
	.PositionX(1000)
	.LookAt( Engine.Scene() );

// Show me!

Engine.Animation.Loop = function() {
	Cube.RotationY( Cube.RotationY() + 0.01 );
};

// Extra information
// TJSApi.Debug.PerformanceMonitor.Enable( Engine );
// TJSApi.Debug.MessageMonitor.Enable( Engine );

// Go!
Engine.Animation.Run();
Clone this wiki locally