From 08f66e867c6f504d69b4e0348beabb3a3a04924a Mon Sep 17 00:00:00 2001 From: Tyler Bezera Date: Wed, 2 Oct 2019 21:16:06 -0700 Subject: [PATCH] Clean up --- src/models.c | 106 ++------------------------------------------------- 1 file changed, 3 insertions(+), 103 deletions(-) diff --git a/src/models.c b/src/models.c index 418dc67a0..9981c4e19 100644 --- a/src/models.c +++ b/src/models.c @@ -3446,11 +3446,7 @@ static Model LoadGLTF(const char *fileName) *************************************************************************************/ -<<<<<<< HEAD -#define LOAD_ACCESSOR(type, nbcomp, acc, dst) \ -======= #define LOAD_ACCESSOR(type, nbcomp, acc, dst) \ ->>>>>>> 55129d509fe0095344d635ac9d996abf4ca3b67d { \ int n = 0; \ type* buf = (type*)acc->buffer_view->buffer->data+acc->buffer_view->offset/sizeof(type)+acc->offset/sizeof(type); \ @@ -3513,125 +3509,29 @@ static Model LoadGLTF(const char *fileName) model.materials[i] = LoadMaterialDefault(); Color tint = (Color){ 1.0f, 1.0f, 1.0f, 1.0f }; const char *texPath = GetDirectoryPath(fileName); -<<<<<<< HEAD - //Ensure material follows raylibe support for PBR (metallic/roughness flow) + //Ensure material follows raylib support for PBR (metallic/roughness flow) if (data->materials[i].has_pbr_metallic_roughness) { float roughness = data->materials[i].pbr_metallic_roughness.roughness_factor; float metallic = data->materials[i].pbr_metallic_roughness.metallic_factor; strcpy(model.materials[i].name, data->materials[i].name); -======= - - if (data->materials[i].has_pbr_metallic_roughness) - { ->>>>>>> 55129d509fe0095344d635ac9d996abf4ca3b67d tint.r = (unsigned char)(data->materials[i].pbr_metallic_roughness.base_color_factor[0]*255.99f); tint.g = (unsigned char)(data->materials[i].pbr_metallic_roughness.base_color_factor[1]*255.99f); tint.b = (unsigned char)(data->materials[i].pbr_metallic_roughness.base_color_factor[2]*255.99f); tint.a = (unsigned char)(data->materials[i].pbr_metallic_roughness.base_color_factor[3]*255.99f); -<<<<<<< HEAD model.materials[i].maps[MAP_ALBEDO].texture = LoadTextureFromCGLTFTextureView(data->materials[i].pbr_metallic_roughness.base_color_texture.texture->image, tint, texPath); - tint = (Color){ 1.0f, 1.0f, 1.0f, 1.0f }; + //tint isn't need for other textures.. pass null or clear? + tint = (Color){ 0.0f, 0.0f, 0.0f, 0.0f }; model.materials[i].maps[MAP_ROUGHNESS].texture = LoadTextureFromCGLTFTextureView(data->materials[i].pbr_metallic_roughness.metallic_roughness_texture.texture->image, tint, texPath); model.materials[i].maps[MAP_ROUGHNESS].value = roughness; model.materials[i].maps[MAP_METALNESS].value = metallic; model.materials[i].maps[MAP_NORMAL].texture = LoadTextureFromCGLTFTextureView(data->materials[i].normal_texture.texture->image, tint, texPath); model.materials[i].maps[MAP_OCCLUSION].texture = LoadTextureFromCGLTFTextureView(data->materials[i].occlusion_texture.texture->image, tint, texPath); -======= - } - else - { - tint.r = 1.0f; - tint.g = 1.0f; - tint.b = 1.0f; - tint.a = 1.0f; - } - - if (data->materials[i].has_pbr_metallic_roughness) - { - cgltf_image *img = data->materials[i].pbr_metallic_roughness.base_color_texture.texture->image; - - if (img->uri) - { - if ((strlen(img->uri) > 5) && - (img->uri[0] == 'd') && - (img->uri[1] == 'a') && - (img->uri[2] == 't') && - (img->uri[3] == 'a') && - (img->uri[4] == ':')) - { - // Data URI - // Format: data:;base64, - - // Find the comma - int i = 0; - while ((img->uri[i] != ',') && (img->uri[i] != 0)) i++; - - if (img->uri[i] == 0) TraceLog(LOG_WARNING, "[%s] Invalid data URI", fileName); - else - { - int size; - unsigned char *data = DecodeBase64(img->uri + i + 1, &size); - - int w, h; - unsigned char *raw = stbi_load_from_memory(data, size, &w, &h, NULL, 4); - - Image image = LoadImagePro(raw, w, h, UNCOMPRESSED_R8G8B8A8); - ImageColorTint(&image, tint); - texture = LoadTextureFromImage(image); - UnloadImage(image); - } - } - else - { - char *textureName = img->uri; - char *texturePath = RL_MALLOC(strlen(texPath) + strlen(textureName) + 2); - strcpy(texturePath, texPath); - strcat(texturePath, "/"); - strcat(texturePath, textureName); - - Image image = LoadImage(texturePath); - ImageColorTint(&image, tint); - texture = LoadTextureFromImage(image); - UnloadImage(image); - RL_FREE(texturePath); - } - } - else if (img->buffer_view) - { - unsigned char *data = RL_MALLOC(img->buffer_view->size); - int n = img->buffer_view->offset; - int stride = img->buffer_view->stride ? img->buffer_view->stride : 1; - - for (int i = 0; i < img->buffer_view->size; i++) - { - data[i] = ((unsigned char *)img->buffer_view->buffer->data)[n]; - n += stride; - } - - int w, h; - unsigned char *raw = stbi_load_from_memory(data, img->buffer_view->size, &w, &h, NULL, 4); - - Image image = LoadImagePro(raw, w, h, UNCOMPRESSED_R8G8B8A8); - ImageColorTint(&image, tint); - texture = LoadTextureFromImage(image); - UnloadImage(image); - } - else - { - Image image = LoadImageEx(&tint, 1, 1); - texture = LoadTextureFromImage(image); - UnloadImage(image); - } - - model.materials[i] = LoadMaterialDefault(); - model.materials[i].maps[MAP_DIFFUSE].texture = texture; ->>>>>>> 55129d509fe0095344d635ac9d996abf4ca3b67d } }