// File: alan0201tw[P]RayTracer/include/tiny_obj_loader.h
// Function: tinyobj::InitMaterial(tinyobj::material_t*)
static void InitMaterial(material_t *material) {
  InitTexOpt(&material->ambient_texopt, /* is_bump */ false);
  InitTexOpt(&material->diffuse_texopt, /* is_bump */ false);
  InitTexOpt(&material->specular_texopt, /* is_bump */ false);
  InitTexOpt(&material->specular_highlight_texopt, /* is_bump */ false);
  InitTexOpt(&material->bump_texopt, /* is_bump */ true);
  InitTexOpt(&material->displacement_texopt, /* is_bump */ false);
  InitTexOpt(&material->alpha_texopt, /* is_bump */ false);
  InitTexOpt(&material->reflection_texopt, /* is_bump */ false);
  InitTexOpt(&material->roughness_texopt, /* is_bump */ false);
  InitTexOpt(&material->metallic_texopt, /* is_bump */ false);
  InitTexOpt(&material->sheen_texopt, /* is_bump */ false);
  InitTexOpt(&material->emissive_texopt, /* is_bump */ false);
  InitTexOpt(&material->normal_texopt,
             /* is_bump */ false);  // @fixme { is_bump will be true? }
  material->name = "";
  material->ambient_texname = "";
  material->diffuse_texname = "";
  material->specular_texname = "";
  material->specular_highlight_texname = "";
  material->bump_texname = "";
  material->displacement_texname = "";
  material->reflection_texname = "";
  material->alpha_texname = "";
  for (int i = 0; i < 3; i++) {
    material->ambient[i] = static_cast<real_t>(0.0);
    material->diffuse[i] = static_cast<real_t>(0.0);
    material->specular[i] = static_cast<real_t>(0.0);
    material->transmittance[i] = static_cast<real_t>(0.0);
    material->emission[i] = static_cast<real_t>(0.0);
  }
  material->illum = 0;
  material->dissolve = static_cast<real_t>(1.0);
  material->shininess = static_cast<real_t>(1.0);
  material->ior = static_cast<real_t>(1.0);

  material->roughness = static_cast<real_t>(0.0);
  material->metallic = static_cast<real_t>(0.0);
  material->sheen = static_cast<real_t>(0.0);
  material->clearcoat_thickness = static_cast<real_t>(0.0);
  material->clearcoat_roughness = static_cast<real_t>(0.0);
  material->anisotropy_rotation = static_cast<real_t>(0.0);
  material->anisotropy = static_cast<real_t>(0.0);
  material->roughness_texname = "";
  material->metallic_texname = "";
  material->sheen_texname = "";
  material->emissive_texname = "";
  material->normal_texname = "";

  material->unknown_parameter.clear();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x230, %rdi            # imm = 0x230
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x290, %rdi            # imm = 0x290
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x2f0, %rdi            # imm = 0x2F0
movl $0x1, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x350, %rdi            # imm = 0x350
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x3b0, %rdi            # imm = 0x3B0
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x410, %rdi            # imm = 0x410
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x530, %rdi            # imm = 0x530
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x590, %rdi            # imm = 0x590
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x5f0, %rdi            # imm = 0x5F0
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x650, %rdi            # imm = 0x650
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
addq $0x6b0, %rdi            # imm = 0x6B0
xorl %esi, %esi
callq 0x2ace0
movq -0x8(%rbp), %rdi
leaq 0x608be(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x70, %rdi
leaq 0x608aa(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x90, %rdi
leaq 0x60893(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0xb0, %rdi
leaq 0x6087c(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0xd0, %rdi
leaq 0x60865(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0xf0, %rdi
leaq 0x6084e(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x60837(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x150, %rdi            # imm = 0x150
leaq 0x60820(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x60809(%rip), %rsi     # 0x7e5a2
callq 0x7670
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0x1de0b
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x20(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x2c(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x38(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x44(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
xorps %xmm0, %xmm0
movss %xmm0, 0x50(%rax,%rcx,4)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1dda5
movq -0x8(%rbp), %rax
movl $0x0, 0x68(%rax)
movq -0x8(%rbp), %rax
movss 0x603da(%rip), %xmm0    # 0x7e1fc
movss %xmm0, 0x64(%rax)
movq -0x8(%rbp), %rax
movss 0x603c9(%rip), %xmm0    # 0x7e1fc
movss %xmm0, 0x5c(%rax)
movq -0x8(%rbp), %rax
movss 0x603b8(%rip), %xmm0    # 0x7e1fc
movss %xmm0, 0x60(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x470(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x474(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x478(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x47c(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x480(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x488(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x484(%rax)
movq -0x8(%rbp), %rdi
addq $0x490, %rdi            # imm = 0x490
leaq 0x606de(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x4b0, %rdi            # imm = 0x4B0
leaq 0x606c7(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x4d0, %rdi            # imm = 0x4D0
leaq 0x606b0(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x4f0, %rdi            # imm = 0x4F0
leaq 0x60699(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x510, %rdi            # imm = 0x510
leaq 0x60682(%rip), %rsi     # 0x7e5a2
callq 0x7670
movq -0x8(%rbp), %rdi
addq $0x718, %rdi            # imm = 0x718
callq 0x2eb00
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)