43 lines
1.2 KiB
ActionScript

RenderService@ mainRenderService;
FrameBuffer renderMeshPreview(GPUMesh mesh) {
return mainRenderService.renderMeshPreview(mesh);
}
void setSceneCamera (SceneCamera sc) {
}
class RenderService : Service {
void init() {
@mainRenderService = this;
env = Resource::createLoadEnvironment("PreviewerEnv");
child = env.getRootEntity().createChild("Render");
meshC = child.createMeshComponent();
ShaderComponent shaderC = child.createShaderComponent();
shaderC.shader = Resource::loadShader("shader.glsl");
Engine::print("CAM : " + sceneCamera.transform.position.x + " " + sceneCamera.transform.scale.x + " : " + sceneCamera.camera.aspect);
sceneCamera.transform.position.z = -3;
sceneCamera.transform.position.y = 1;
}
FrameBuffer renderMeshPreview(GPUMesh mesh) {
FrameBuffer buffer = Resource::createLoadRGBA8FrameBuffer(mesh.path, 128, 128, 4);
buffer.clearRGBA(0, 0, 0, 0);
meshC.meshResource = mesh;
mainRenderService.env.render(buffer, mainRenderService.sceneCamera);
return buffer;
}
Environment env;
SceneCamera sceneCamera;
MeshComponent meshC;
Entity child;
}