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; }