MCPcopy Create free account
hub / github.com/assimp/assimp / NormalizeColorValue

Function NormalizeColorValue

code/AssetLib/Ply/PlyLoader.cpp:112–135  ·  view source on GitHub ↗

------------------------------------------------------------------------------------------------ Convert a color component to [0...1]

Source from the content-addressed store, hash-verified

110 // ------------------------------------------------------------------------------------------------
111 // Convert a color component to [0...1]
112 ai_real NormalizeColorValue(PropertyInstance::ValueUnion val, EDataType eType) {
113 switch (eType) {
114 case EDT_Float:
115 return val.fFloat;
116 case EDT_Double:
117 return static_cast<ai_real>(val.fDouble);
118 case EDT_UChar:
119 return static_cast<ai_real>(val.iUInt) / static_cast<ai_real>(0xFF);
120 case EDT_Char:
121 return static_cast<ai_real>(val.iInt + (0xFF / 2)) / static_cast<ai_real>(0xFF);
122 case EDT_UShort:
123 return static_cast<ai_real>(val.iUInt) / static_cast<ai_real>(0xFFFF);
124 case EDT_Short:
125 return static_cast<ai_real>(val.iInt + (0xFFFF / 2)) / static_cast<ai_real>(0xFFFF);
126 case EDT_UInt:
127 return static_cast<ai_real>(val.iUInt) / static_cast<ai_real>(0xFFFF);
128 case EDT_Int:
129 return (static_cast<ai_real>(val.iInt) / static_cast<ai_real>(0xFF)) + 0.5f;
130 default:
131 break;
132 }
133
134 return 0.0f;
135 }
136
137 // ------------------------------------------------------------------------------------------------
138 // Get a RGBA color in [0...1] range

Callers 2

GetMaterialColorFunction · 0.85
LoadVertexMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected