VuoRegister(context, free); return context; } void nodeInstanceEvent ( VuoInstanceData(struct nodeInstanceData *) context, VuoInputData(VuoList_VuoLayer) layers, VuoInputData(VuoInteger, {"default":1024, "suggestedMin":1, "suggestedMax":4096, "suggestedStep":256}) width, VuoInputData(VuoInteger, {"default":768, "suggestedMin":1, "suggestedMax":4096, "suggestedStep":256}) height, VuoOutputData(VuoImage) image, VuoOutputData(VuoRenderedLayers) renderedLayers ) { VuoSceneObject rootSceneObject = VuoLayer_makeGroup(layers, VuoTransform2d_makeIdentity()).sceneObject; VuoSceneRenderer_setRootSceneObject((*context)->sceneRenderer, rootSceneObject); VuoSceneRenderer_regenerateProjectionMatrix((*context)->sceneRenderer, width, height); VuoSceneRenderer_renderToImage((*context)->sceneRenderer, image, NULL); *renderedLayers = VuoRenderedLayers_make(rootSceneObject, width, height); } void nodeInstanceFini ( VuoInstanceData(struct nodeInstanceData *) context ) { VuoRelease((*context)->sceneRenderer); VuoGlContext_disuse((*context)->glContext);
/** * @file * vuo.layer.combine node implementation. * * @copyright Copyright © 2012–2015 Kosada Incorporated. * This code may be modified and distributed under the terms of the MIT License. * For more information, see http://vuo.org/license. */ #include "node.h" #include "VuoLayer.h" VuoModuleMetadata({ "title" : "Combine Layers with Transform", "keywords" : [ "group", "join", "together", "merge" ], "version" : "1.0.0", "node": { "exampleCompositions" : [ ] } }); void nodeEvent ( VuoInputData(VuoTransform2d) transform, VuoInputData(VuoList_VuoLayer) layers, VuoOutputData(VuoLayer) layer ) { *layer = VuoLayer_makeGroup(layers, transform); }