11 #ifndef hifi_gpu_Stream_h
12 #define hifi_gpu_Stream_h
40 SKIN_CLUSTER_INDEX = 5,
41 SKIN_CLUSTER_WEIGHT = 6,
61 static const std::array<Element, InputSlot::NUM_INPUT_SLOTS>& getDefaultElements();
82 Attribute(Slot slot, Slot channel,
Element element, Offset offset = 0, Frequency frequency = PER_VERTEX) :
90 Slot _slot{ POSITION };
91 Slot _channel{ POSITION };
92 Element _element{ Element::VEC3F_XYZ };
94 uint32 _frequency{ PER_VERTEX };
105 std::string
getKey()
const;
111 typedef std::map< Slot, Attribute > AttributeMap;
129 typedef std::map< Slot, ChannelInfo > ChannelMap;
173 bool setAttribute(Slot slot, Slot channel,
Element element, Offset offset = 0, Frequency frequency = PER_VERTEX);
209 friend class Serializer;
210 friend class Deserializer;
219 typedef std::shared_ptr<Format> FormatPointer;
222 typedef std::vector< Offset > Offsets;
228 using Strides = Offsets;
233 void clear() { _buffers.clear(); _offsets.clear(); _strides.clear(); }
240 void addBuffer(
const BufferPointer& buffer, Offset offset, Offset stride);
269 typedef std::shared_ptr<BufferStream> BufferStreamPointer;
const Strides & getStrides() const
Definition: Stream.h:255
const Buffers & getBuffers() const
Definition: Stream.h:245
size_t getNumBuffers() const
Definition: Stream.h:260
const Offsets & getOffsets() const
Definition: Stream.h:250
void addBuffer(const BufferPointer &buffer, Offset offset, Offset stride)
Definition: Stream.cpp:97
void clear()
Definition: Stream.h:233
uint32 getSize() const
Definition: Format.h:349
Definition: gpu/src/gpu/Forward.h:134
std::string getKey() const
Generate a string key describing the attribute uniquely.
Definition: Stream.cpp:50
uint32 getSize() const
Definition: Stream.h:99
Attribute(Slot slot, Slot channel, Element element, Offset offset=0, Frequency frequency=PER_VERTEX)
Definition: Stream.h:82