123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // David Eberly, Geometric Tools, Redmond WA 98052
- // Copyright (c) 1998-2020
- // Distributed under the Boost Software License, Version 1.0.
- // https://www.boost.org/LICENSE_1_0.txt
- // https://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
- // Version: 4.0.2019.08.13
- #pragma once
- #include <string>
- namespace WwiseGTE
- {
- struct VertexAttribute
- {
- VertexAttribute(std::string inSemantic = "", void* inSource = nullptr, size_t inStride = 0)
- :
- semantic(inSemantic),
- source(inSource),
- stride(inStride)
- {
- }
- // The 'semantic' string allows you to query for a specific vertex
- // attribute and use the 'source' and 'stride' to access the data
- // of the attribute. For example, you might use the semantics
- // "position" (px,py,pz), "normal" (nx,ny,nz), "tcoord" (texture
- // coordinates (u,v)), "dpdu" (derivative of position with respect
- // to u), or "dpdv" (derivative of position with respect to v) for
- // mesh vertices.
- //
- // The source pointer must be 4-byte aligned. The stride must be
- // positive and a multiple of 4. The pointer alignment constraint is
- // guaranteed on 32-bit and 64-bit architectures. The stride constraint
- // is reasonable given that (usually) geometric attributes are usually
- // arrays of 'float' or 'double'.
- std::string semantic;
- void* source;
- size_t stride;
- };
- }
|