MCPcopy Create free account
hub / github.com/carbonengine/trinity / GetMeshVertexPosition

Function GetMeshVertexPosition

trinity/Utilities/GeometryUtils.cpp:64–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62
63#if WITH_GRANNY
64void GetMeshVertexPosition( granny_mesh* grannyMesh, unsigned index, Vector3& position, unsigned grannyBytesPerVertex, unsigned positionOffset, Tr2VertexDefinition::DataType positionType )
65{
66 if( !grannyBytesPerVertex )
67 {
68 return;
69 }
70
71 granny_uint8* positionPtr = grannyMesh->PrimaryVertexData->Vertices + index * grannyBytesPerVertex + positionOffset;
72
73 switch( positionType )
74 {
75 case Tr2VertexDefinition::FLOAT16_4:
76 position = *reinterpret_cast<const Vector3_16*>( positionPtr );
77 break;
78
79 case Tr2VertexDefinition::FLOAT32_3:
80 memcpy( &position, positionPtr, 12 );
81 break;
82
83 case Tr2VertexDefinition::SHORT_4:
84 ConvertShort4ToVector3( positionPtr, &position );
85 break;
86
87 default:
88 CCP_ASSERT_M( false, "Unsupported position type in GetMeshVertexPosition" );
89 break;
90 }
91}
92#endif
93
94const char* VertexDeclTypeToString( Tr2VertexDefinition::DataType type )

Callers 2

ExtractAudioGeometryMethod · 0.85

Calls 1

ConvertShort4ToVector3Function · 0.85

Tested by

no test coverage detected