diff --git a/doc/Changelog.md b/doc/Changelog.md index bc609d0..f69f2ec 100644 --- a/doc/Changelog.md +++ b/doc/Changelog.md @@ -2,6 +2,9 @@ # git master +* [35](https://github.com/HBPVIS/ZeroBuf/pull/35) + Added LookOut and Frame events + # Release 0.2 (08-03-2016) * [32](https://github.com/HBPVIS/ZeroBuf/pull/32) diff --git a/zerobuf/render/CMakeLists.txt b/zerobuf/render/CMakeLists.txt index 8ee3f6b..f2ac37c 100644 --- a/zerobuf/render/CMakeLists.txt +++ b/zerobuf/render/CMakeLists.txt @@ -1,11 +1,11 @@ -# Copyright (c) HBP 2015 Daniel Nachbaur -# All rights reserved. Do not distribute without further notice. +# Copyright (c) HBP 2015-2016 Daniel Nachbaur set(ZEROBUFRENDER_INCLUDE_NAME zerobuf/render) include(zerobufGenerateCxx) zerobuf_generate_cxx(ZEROBUFRENDER - ${OUTPUT_INCLUDE_DIR}/${ZEROBUFRENDER_INCLUDE_NAME} camera.fbs lookupTable1D.fbs imageJPEG.fbs) + ${OUTPUT_INCLUDE_DIR}/${ZEROBUFRENDER_INCLUDE_NAME} + camera.fbs frame.fbs lookOut.fbs lookupTable1D.fbs imageJPEG.fbs) set(ZEROBUFRENDER_PUBLIC_HEADERS ${ZEROBUFRENDER_HEADERS}) set(ZEROBUFRENDER_LINK_LIBRARIES PUBLIC ZeroBuf) diff --git a/zerobuf/render/frame.fbs b/zerobuf/render/frame.fbs new file mode 100644 index 0000000..7d58757 --- /dev/null +++ b/zerobuf/render/frame.fbs @@ -0,0 +1,17 @@ +// Copyright (c) 2015, Human Brain Project +// Stefan Eilemann +// Grigori.Chevtchenko@epfl.ch +// +namespace zerobuf.render; + +table Frame +{ + // starting frame number for an animation loop + start:uint; + // current frame (wrapped into [start end]) + current:uint; + // end frame number for an animation loop + end:uint; + // animation delta between start<->end + delta:int; +} diff --git a/zerobuf/render/lookOut.fbs b/zerobuf/render/lookOut.fbs new file mode 100644 index 0000000..c277b97 --- /dev/null +++ b/zerobuf/render/lookOut.fbs @@ -0,0 +1,21 @@ +// Copyright (c) 2016, Human Brain Project +// Grigori.Chevtchenko@epfl.ch +// +namespace zerobuf.render; + +// This event is named "LookOut" instead of "Camera" because +// it may be used in immersive environments. The orientation of +// a display surface or the head position of the observer should +// not be part of this event, i.e., if the user is on a magic +// carpet, you will synchronize the matrices describing the +// carpets but not the user's local movements on the carpet. +// More scientifically can be said that, this transforms from +// world space to carpet space. +// +// The LookOut event contains 16 doubles values representing a +// matrix. The layout of this values is the one expected by OpenGL. +// The positions are in meters. +table LookOut +{ + matrix:[double:16]; +}