GetVertexDataOffset
Syntax
public const string enginedll = @"engine.dll"; [DllImport(enginedll, EntryPoint = "GetVertexDataOffset")] public static extern Int32 GetVertexDataOffset(Int64 requiredData, Int64 setting);
Property requiredData
Size: 64 bit / 8 byte (value)Property setting
Size: 64 bit / 8 byte (value)
Example (based on pure API calls)
Here you can find code snippits that show how the API call GetVertexDataOffset can be used.
using RDF; // include at least engine.cs within your solution const Int64 flagbit0 = 1; // 2^^0 0000.0000..0000.0001 const Int64 flagbit1 = 2; // 2^^1 0000.0000..0000.0010 const Int64 flagbit2 = 4; // 2^^2 0000.0000..0000.0100 const Int64 flagbit3 = 8; // 2^^3 0000.0000..0000.1000 const Int64 flagbit4 = 16; // 2^^4 0000.0000..0001.0000 const Int64 flagbit5 = 32; // 2^^5 0000.0000..0010.0000 const Int64 flagbit6 = 64; // 2^^6 0000.0000..0100.0000 const Int64 flagbit7 = 128; // 2^^7 0000.0000..1000.0000 const Int64 flagbit8 = 256; // 2^^8 0000.0001..0000.0000 const Int64 flagbit9 = 512; // 2^^9 0000.0010..0000.0000 const Int64 flagbit10 = 1024; // 2^^10 0000.0100..0000.0000 const Int64 flagbit11 = 2048; // 2^^11 0000.1000..0000.0000 const Int64 flagbit12 = 4096; // 2^^12 0001.0000..0000.0000 const Int64 flagbit13 = 8192; // 2^^13 0010.0000..0000.0000 const Int64 flagbit14 = 16384; // 2^^14 0100.0000..0000.0000 const Int64 flagbit15 = 32768; // 2^^15 1000.0000..0000.0000 const Int64 flagbit16 = 65536; // 2^^16 0000.0000..0000.0001 0000.0000..0000.0000 const Int64 flagbit17 = 131072; // 2^^17 0000.0000..0000.0010 0000.0000..0000.0000 const Int64 flagbit18 = 262144; // 2^^18 0000.0000..0000.0100 0000.0000..0000.0000 const Int64 flagbit19 = 524288; // 2^^19 0000.0000..0000.1000 0000.0000..0000.0000 const Int64 flagbit20 = 1048576; // 2^^20 0000.0000..0001.0000 0000.0000..0000.0000 const Int64 flagbit21 = 2097152; // 2^^21 0000.0000..0010.0000 0000.0000..0000.0000 const Int64 flagbit22 = 4194304; // 2^^22 0000.0000..0100.0000 0000.0000..0000.0000 const Int64 flagbit23 = 8388608; // 2^^23 0000.0000..1000.0000 0000.0000..0000.0000 const Int64 flagbit24 = 16777216; // 2^^24 0000.0001..0000.0000 0000.0000..0000.0000 const Int64 flagbit25 = 33554432; // 2^^25 0000.0010..0000.0000 0000.0000..0000.0000 const Int64 flagbit26 = 67108864; // 2^^26 0000.0100..0000.0000 0000.0000..0000.0000 const Int64 flagbit27 = 134217728; // 2^^27 0000.1000..0000.0000 0000.0000..0000.0000 const Int64 flagbit28 = 268435456; // 2^^28 0001.0000..0000.0000 0000.0000..0000.0000 const Int64 flagbit29 = 536870912; // 2^^29 0010.0000..0000.0000 0000.0000..0000.0000 const Int64 flagbit30 = (Int64) 1073741824; // 2^^30 0100.0000..0000.0000 0000.0000..0000.0000 const Int64 flagbit31 = (Int64) 2147483648; // 2^^31 1000.0000..0000.0000 0000.0000..0000.0000 static void Main(string[] args) { Int64 model = RDF.engine.CreateModel(); if (model != 0) { { // // Initializing the mask with all possible options // Int64 setting = 0, mask = RDF.engine.GetFormat(0, 0); setting += 0 * flagbit2; // SINGLE / DOUBLE PRECISION (float / double) setting += 0 * flagbit3; // 32 / 63 BIT INDEX ARRAY (int32_t / int64_t) setting += 1 * flagbit4; // OFF / ON VECTORS (x, y, z) setting += 1 * flagbit5; // OFF / ON NORMALS (Nx, Ny, Nz) setting += 0 * flagbit6; // OFF / ON TEXTURE I (u1, v1) setting += 0 * flagbit7; // OFF / ON TEXTURE II (u2, v2) setting += 1 * flagbit8; // OFF / ON TRIANGLES setting += 1 * flagbit9; // OFF / ON LINES setting += 1 * flagbit10; // OFF / ON POINTS setting += 0 * flagbit12; // OFF / ON WIREFRAME FACES setting += 0 * flagbit13; // OFF / ON WIREFRAME CONCEPTUAL FACES setting += 0 * flagbit14; // OFF / ON STRUCTURE WIREFRAME AS POLYGON / TUPLE setting += 0 * flagbit15; // OFF / ON ADVANCED NORMALS (I.E. FOLLOWING THE SEMANTIC MEANING OF THE CONCEPT) setting += 0 * flagbit16; // OFF / ON DIRECTX (COMBINATION SETTING BIT 20, 21, 22, 23) setting += 0 * flagbit17; // OFF / ON OPENGL (COMBINATION SETTING BIT 20, 21, 22, 23) setting += 0 * flagbit18; // OFF / ON EXPORT BOTH SIDES OF TRIANGLES setting += 0 * flagbit20; // OFF / ON EXPERT SETTING TRIANGLE WINDING CW / ACW setting += 0 * flagbit21; // OFF / ON EXPERT SETTING NONE / VERTEX + NORMAL Y = Z / Z = -Y setting += 0 * flagbit22; // OFF / ON EXPERT SETTING setting += 0 * flagbit23; // OFF / ON EXPERT SETTING setting += 0 * flagbit24; // OFF / ON AMBIENT COLOR COMPONENT setting += 0 * flagbit25; // OFF / ON DIFFUSE COLOR COMPONENT setting += 0 * flagbit26; // OFF / ON EMISSIVE COLOR COMPONENT setting += 0 * flagbit27; // OFF / ON SPECULAR COLOR COMPONENT setting += 0 * flagbit28; // OFF / ON TEXTURE I TANGENT setting += 0 * flagbit29; // OFF / ON TEXTURE I BINORMAL setting += 0 * flagbit30; // OFF / ON TEXTURE II TANGENT (64 BIT ONLY) setting += 0 * flagbit31; // OFF / ON TEXTURE II BINORMAL (64 BIT ONLY) Int64 vertexElementSizeInBytes = RDF.engine.SetFormat(model, setting, mask); } ... int32_t vertexSize = GetVertexDataOffset(0, setting); ... } }