1#ifndef __VERTEXFIELD_HPP
2#define __VERTEXFIELD_HPP
5#include <bone/BundleInput.hpp>
6#include <bone/FishField.hpp>
7#include <bone/FishSlice.hpp>
9#include <ocean/GLvish/VGLRenderObject.hpp>
10#include <ocean/GLvish/ArrayTypes.hpp>
11#include <ocean/GLvish/Shader.hpp>
13#include <eagle/PhysicalSpace.hpp>
15#include <ocean/shrimp/VEnum.hpp>
17#include <GL/fieldGL.hpp>
18#include <GL/FieldBuffer.hpp>
20#include "fisheyeDllApi.h"
96 const bool ConvertToElements =
false;
111 const string&fieldname,
bool ConvertToElements=
true,
157template <
class VBOArrayType>
161 typedef typename VBOArrayType::value_type value_type;
167 myField.acceptType<value_type>();
191 typedef typename VBOArrayType::value_type value_type;
200 myField.acceptType<value_type>();
214 throw BufferArray::Error(
"No texture ID defined in associated shader",
typeid(Type), MB->getType() );
238 typedef typename VBOArrayType::value_type value_type;
244 myField.acceptType<value_type>();
266template <
class VBOArrayType>
297template <
class VBOArrayType,
class NextType>
301 typedef typename VBOArrayType::value_type value_type;
307 myField.acceptType<value_type>();
322 printf(
"VBO: Could not load data as %s, trying to load as %s next.\n",
341template <
class Type,
class NextType>
346 typedef typename VBOArrayType::value_type value_type;
352 myField.acceptType<value_type>();
376 printf(
"VBO: Could not load data as %s, trying to load as %s next.\n",
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const override
Virtual function to create a vertex array from a given memory array.
Definition VertexField.hpp:355
RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const override
Virtual function to create a vertex array from a given memory array.
Definition VertexField.hpp:310
RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const override
Virtual function to create a vertex array from a given memory array.
Definition VertexField.hpp:203
RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const override
Virtual function to create a vertex array from a given memory array.
Definition VertexField.hpp:247
Associate a Field with some vertex array that is uniquely defined by its type, such as a ColorArray.
Definition VertexField.hpp:159
RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const override
Virtual function to create a vertex array from a given memory array.
Definition VertexField.hpp:170
A VertexField is a (abstract) gateway from RAM to GPU memory.
Definition VertexField.hpp:71
virtual RefPtr< BufferArray > createVBOArray(const RefPtr< Fiber::MemBase > &MB, const string &arrayname, const RefPtr< GLProgram > &Shader, const Fiber::MemBase::Creator_t &theCreator) const =0
Virtual function to create a vertex array from a given memory array.
MEMCORE_API std::string Typename(const std::type_info &t)
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Templated static member function to load data from MemArrays into vertex arrays.
Definition FieldBuffer.hpp:38
Exception class.
Definition VertexField.hpp:79