Files
lime/nmegl/core/RenderHandler.hx
underscorediscovery 7ce604c914 Adding initial commit
2013-06-23 00:24:09 -02:30

59 lines
1.5 KiB
Haxe

package nmegl.core;
import nmegl.NMEGL;
import nmegl.core.Libs;
//Import GL
import nmegl.gl.GL;
import nmegl.gl.GLBuffer;
import nmegl.gl.GLProgram;
//utils
import nmegl.utils.Float32Array;
//geometry
import nmegl.geometry.Matrix3D;
class RenderHandler {
public var lib : NMEGL;
public function new( _lib:NMEGL ) { lib = _lib; }
public var user_render_function : Void->Void;
//direct_renderer_handle for NME
public var direct_renderer_handle : Dynamic;
public function startup() {
//Set up the OpenGL View
direct_renderer_handle = nme_direct_renderer_create();
//Add this to the main stage, so it will render
nme_doc_add_child( lib.stage_handle, direct_renderer_handle );
//Set this handle to the real view with a render function
nme_direct_renderer_set( direct_renderer_handle, on_render );
//Done.
lib._debug(':: NMEGL :: \t RenderHandler Initialized.');
}
public function shutdown() {
lib._debug(':: NMEGL :: \t RenderHandler shut down.');
}
public function on_render() {
if(user_render_function != null) {
user_render_function();
}
}
//nme functions
private static var nme_doc_add_child = Libs.load("nme","nme_doc_add_child", 2);
private static var nme_direct_renderer_create = Libs.load("nme","nme_direct_renderer_create", 0);
private static var nme_direct_renderer_set = Libs.load("nme","nme_direct_renderer_set", 2);
}