texture loading optimized - using shared buffer and removed unnecessary buffers