| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -5121,14 +5121,6 @@ static Model LoadGLTF(const char *fileName) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                    { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        // Support up to 2 texture coordinates attributes | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        float *texcoordPtr = NULL; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        int index = data->meshes[i].primitives[p].attributes[j].index; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        if (index == 0) texcoordPtr = model.meshes[meshIndex].texcoords; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        else if (index == 1) texcoordPtr = model.meshes[meshIndex].texcoords2; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        else | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            TRACELOG(LOG_WARNING, "MODEL: [%s] No more than 2 texture coordinates attributes supported", fileName); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            continue; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
	
		
			
				| 
				
				
				
					
						
					
				
				 | 
			
			 | 
			
			@ -5137,7 +5129,7 @@ static Model LoadGLTF(const char *fileName) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            if (attribute->component_type == cgltf_component_type_r_32f)  // vec2, float | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Init raylib mesh texcoords to copy glTF attribute data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = p">(float *)RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Load 3 components of float data type into mesh.texcoords | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                LOAD_ATTRIBUTE(attribute, 2, float, texcoordPtr) | 
			
		
		
	
	
		
			
				| 
				
				
				
					
						
					
				
				 | 
			
			 | 
			
			@ -5145,10 +5137,10 @@ static Model LoadGLTF(const char *fileName) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            else if (attribute->component_type == cgltf_component_type_r_8u) // vec2, u8n | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Init raylib mesh texcoords to copy glTF attribute data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = p">(float *)RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Load data into a temp buffer to be converted to raylib data type | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned char)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                unsigned char *temp = (unsigned char *)RL_MALLOC(attribute->count*2*sizeof(unsigned char)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                LOAD_ATTRIBUTE(attribute, 2, unsigned char, temp); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Convert data to raylib texcoord data type (float) | 
			
		
		
	
	
		
			
				| 
				
				
				
					
						
					
				
				 | 
			
			 | 
			
			@ -5159,10 +5151,10 @@ static Model LoadGLTF(const char *fileName) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            else if (attribute->component_type == cgltf_component_type_r_16u) // vec2, u16n | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Init raylib mesh texcoords to copy glTF attribute data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                texcoordPtr = p">(float *)RL_MALLOC(attribute->count*2*sizeof(float)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Load data into a temp buffer to be converted to raylib data type | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned short)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                unsigned short *temp = p">(unsigned short *)RL_MALLOC(attribute->count*2*sizeof(unsigned short)); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                LOAD_ATTRIBUTE(attribute, 2, unsigned short, temp); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                                // Convert data to raylib texcoord data type (float) | 
			
		
		
	
	
		
			
				| 
				
				
				
					
						
					
				
				 | 
			
			 | 
			
			@ -5173,6 +5165,15 @@ static Model LoadGLTF(const char *fileName) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported", fileName); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        int index = data->meshes[i].primitives[p].attributes[j].index; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        if (index == 0) model.meshes[meshIndex].texcoords = texcoordPtr; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        else if (index == 1) model.meshes[meshIndex].texcoords2 = texcoordPtr; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        else | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            TRACELOG(LOG_WARNING, "MODEL: [%s] No more than 2 texture coordinates attributes supported", fileName); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                            if (texcoordPtr != NULL) RL_FREE(texcoordPtr); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                        } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                    } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                    else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color)    // COLOR_n, vec3/vec4, float/u8n/u16n | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			                    { | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |