|
@@ -1875,34 +1875,34 @@ bool ExportMesh(Mesh mesh, const char *fileName)
|
|
|
// Process obj materials
|
|
|
static void ProcessMaterialsOBJ(Material *rayMaterials, tinyobj_material_t *materials, int materialCount)
|
|
|
{
|
|
|
- // Init model materials
|
|
|
- for (int m = 0; m < materialCount; m++)
|
|
|
- {
|
|
|
- // Init material to default
|
|
|
- // NOTE: Uses default shader, which only supports MATERIAL_MAP_DIFFUSE
|
|
|
- rayMaterials[m] = LoadMaterialDefault();
|
|
|
+ // Init model materials
|
|
|
+ for (int m = 0; m < materialCount; m++)
|
|
|
+ {
|
|
|
+ // Init material to default
|
|
|
+ // NOTE: Uses default shader, which only supports MATERIAL_MAP_DIFFUSE
|
|
|
+ rayMaterials[m] = LoadMaterialDefault();
|
|
|
|
|
|
- // Get default texture, in case no texture is defined
|
|
|
- // NOTE: rlgl default texture is a 1x1 pixel UNCOMPRESSED_R8G8B8A8
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].texture = (Texture2D){ rlGetTextureIdDefault(), 1, 1, 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 };
|
|
|
+ // Get default texture, in case no texture is defined
|
|
|
+ // NOTE: rlgl default texture is a 1x1 pixel UNCOMPRESSED_R8G8B8A8
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].texture = (Texture2D){ rlGetTextureIdDefault(), 1, 1, 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 };
|
|
|
|
|
|
- if (materials[m].diffuse_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].texture = LoadTexture(materials[m].diffuse_texname); //char *diffuse_texname; // map_Kd
|
|
|
+ if (materials[m].diffuse_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].texture = LoadTexture(materials[m].diffuse_texname); //char *diffuse_texname; // map_Kd
|
|
|
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].color = (Color){ (unsigned char)(materials[m].diffuse[0]*255.0f), (unsigned char)(materials[m].diffuse[1]*255.0f), (unsigned char)(materials[m].diffuse[2] * 255.0f), 255 }; //float diffuse[3];
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].value = 0.0f;
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].color = (Color){ (unsigned char)(materials[m].diffuse[0]*255.0f), (unsigned char)(materials[m].diffuse[1]*255.0f), (unsigned char)(materials[m].diffuse[2] * 255.0f), 255 }; //float diffuse[3];
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_DIFFUSE].value = 0.0f;
|
|
|
|
|
|
- if (materials[m].specular_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].texture = LoadTexture(materials[m].specular_texname); //char *specular_texname; // map_Ks
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].color = (Color){ (unsigned char)(materials[m].specular[0]*255.0f), (unsigned char)(materials[m].specular[1]*255.0f), (unsigned char)(materials[m].specular[2] * 255.0f), 255 }; //float specular[3];
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].value = 0.0f;
|
|
|
+ if (materials[m].specular_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].texture = LoadTexture(materials[m].specular_texname); //char *specular_texname; // map_Ks
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].color = (Color){ (unsigned char)(materials[m].specular[0]*255.0f), (unsigned char)(materials[m].specular[1]*255.0f), (unsigned char)(materials[m].specular[2] * 255.0f), 255 }; //float specular[3];
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_SPECULAR].value = 0.0f;
|
|
|
|
|
|
- if (materials[m].bump_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture(materials[m].bump_texname); //char *bump_texname; // map_bump, bump
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_NORMAL].color = WHITE;
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_NORMAL].value = materials[m].shininess;
|
|
|
+ if (materials[m].bump_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture(materials[m].bump_texname); //char *bump_texname; // map_bump, bump
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_NORMAL].color = WHITE;
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_NORMAL].value = materials[m].shininess;
|
|
|
|
|
|
- rayMaterials[m].maps[MATERIAL_MAP_EMISSION].color = (Color){ (unsigned char)(materials[m].emission[0]*255.0f), (unsigned char)(materials[m].emission[1]*255.0f), (unsigned char)(materials[m].emission[2] * 255.0f), 255 }; //float emission[3];
|
|
|
+ rayMaterials[m].maps[MATERIAL_MAP_EMISSION].color = (Color){ (unsigned char)(materials[m].emission[0]*255.0f), (unsigned char)(materials[m].emission[1]*255.0f), (unsigned char)(materials[m].emission[2] * 255.0f), 255 }; //float emission[3];
|
|
|
|
|
|
- if (materials[m].displacement_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_HEIGHT].texture = LoadTexture(materials[m].displacement_texname); //char *displacement_texname; // disp
|
|
|
- }
|
|
|
+ if (materials[m].displacement_texname != NULL) rayMaterials[m].maps[MATERIAL_MAP_HEIGHT].texture = LoadTexture(materials[m].displacement_texname); //char *displacement_texname; // disp
|
|
|
+ }
|
|
|
}
|
|
|
#endif
|
|
|
|
|
@@ -4041,7 +4041,7 @@ static Model LoadOBJ(const char *fileName)
|
|
|
}
|
|
|
|
|
|
// Init model materials
|
|
|
- ProcessMaterialsOBJ(model.materials, materials, materialCount);
|
|
|
+ ProcessMaterialsOBJ(model.materials, materials, materialCount);
|
|
|
|
|
|
tinyobj_attrib_free(&attrib);
|
|
|
tinyobj_shapes_free(meshes, meshCount);
|