TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ LoadTextureDatabase()

void TextureStore::LoadTextureDatabase ( )
private

Definition at line 167 of file TextureStore.cpp.

168{
169 textureDatabaseJ = LoadTextureDatabaseJ();
170 downloadedTextureDatabaseJ = LoadDownloadedTextureDatabaseJ();
171 textureStoreItems.clear();
172 downloadedTextureStoreItems.clear();
173
174 for(auto it = textureDatabaseJ.begin() ; it != textureDatabaseJ.end() ; it++)
175 {
176 TextureStoreItem item;
177 item.name = it.key();
178 item.thumbnailPath = GetExecutableDir() + PATH_SEPARATOR "Data"
179 PATH_SEPARATOR "cache" PATH_SEPARATOR "texture_thumbnails"
180 PATH_SEPARATOR + item.name + ".png";
181 item.download_count = it.value()["download_count"];
182
183 for(auto it2 = it.value()["authors"].begin() ; it2 != it.value()["authors"].end() ; it2++)
184 {
185 item.authours.push_back(it2.key());
186 }
187
188 if(downloadedTextureDatabaseJ.find(item.name) != downloadedTextureDatabaseJ.end())
189 {
190 item.downloaded = true;
191 item.abledo = downloadedTextureDatabaseJ[item.name]["abledo"];
192 item.normal = downloadedTextureDatabaseJ[item.name]["normal"];
193 item.roughness = downloadedTextureDatabaseJ[item.name]["roughness"];
194 item.metallic = downloadedTextureDatabaseJ[item.name]["metallic"];
195 item.ao = downloadedTextureDatabaseJ[item.name]["ao"];
196 item.arm = downloadedTextureDatabaseJ[item.name]["arm"];
197 item.baseDir = downloadedTextureDatabaseJ[item.name]["baseDir"];
198 downloadedTextureStoreItems.push_back(textureStoreItems.size());
199 }
200
201 textureStoreItems.push_back(item);
202 }
203}
iterator begin() noexcept
returns an iterator to the first element
Definition: json.hpp:22377
iterator end() noexcept
returns an iterator to one past the last element
Definition: json.hpp:22448
iterator find(KeyT &&key)
find an element in a JSON object
Definition: json.hpp:22223