MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / mikktGetNormal

Method mikktGetNormal

scene/resources/surface_tool.cpp:1111–1126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1109}
1110
1111void SurfaceTool::mikktGetNormal(const SMikkTSpaceContext *pContext, float fvNormOut[], const int iFace, const int iVert) {
1112 TangentGenerationContextUserData &triangle_data = *reinterpret_cast<TangentGenerationContextUserData *>(pContext->m_pUserData);
1113 Vector3 v;
1114 if (triangle_data.indices->size() > 0) {
1115 uint32_t index = triangle_data.indices->operator[](iFace * 3 + iVert);
1116 if (index < triangle_data.vertices->size()) {
1117 v = triangle_data.vertices->operator[](index).normal;
1118 }
1119 } else {
1120 v = triangle_data.vertices->operator[](iFace * 3 + iVert).normal;
1121 }
1122
1123 fvNormOut[0] = v.x;
1124 fvNormOut[1] = v.y;
1125 fvNormOut[2] = v.z;
1126}
1127
1128void SurfaceTool::mikktGetTexCoord(const SMikkTSpaceContext *pContext, float fvTexcOut[], const int iFace, const int iVert) {
1129 TangentGenerationContextUserData &triangle_data = *reinterpret_cast<TangentGenerationContextUserData *>(pContext->m_pUserData);

Callers

nothing calls this directly

Calls 2

sizeMethod · 0.65
operator[]Method · 0.45

Tested by

no test coverage detected