MCPcopy Create free account
hub / github.com/defold/defold / CreateMaterialsArray

Function CreateMaterialsArray

engine/modelc/src/modelimporter_jni.cpp:138–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

136// Material
137
138static jobjectArray CreateMaterialsArray(JNIEnv* env, dmModelImporter::jni::TypeInfos* types,
139 uint32_t count, const dmModelImporter::Material* materials,
140 uint32_t dynamic_count, const dmModelImporter::Material* const * dynamic_materials,
141 dmArray<jobject>& nodes)
142{
143 uint32_t total_count = count + dynamic_count;
144 nodes.SetCapacity(total_count);
145 nodes.SetSize(total_count);
146
147 jobjectArray arr = env->NewObjectArray(total_count, types->m_MaterialJNI.cls, 0);
148 for (uint32_t i = 0; i < count; ++i)
149 {
150 const dmModelImporter::Material* material = &materials[i];
151 jobject obj = C2J_CreateMaterial(env, types, material);
152 nodes[material->m_Index] = obj;
153 env->SetObjectArrayElement(arr, material->m_Index, obj);
154 }
155 for (uint32_t i = 0; i < dynamic_count; ++i)
156 {
157 const dmModelImporter::Material* material = dynamic_materials[i];
158 jobject obj = C2J_CreateMaterial(env, types, material);
159 nodes[material->m_Index] = obj;
160 env->SetObjectArrayElement(arr, material->m_Index, obj);
161 }
162
163 return arr;
164}
165
166// **************************************************
167// Nodes

Callers 1

CreateJavaSceneFunction · 0.85

Calls 3

C2J_CreateMaterialFunction · 0.85
SetCapacityMethod · 0.45
SetSizeMethod · 0.45

Tested by

no test coverage detected