// File: tomfunkhouser[P]gaps/pkgs/R3Shapes/R3Frustum.cpp
// Function: gaps::R3Frustum::Outline(gaps::RNFlags) const
void R3Frustum::
Outline(const R3DrawFlags draw_flags) const
{
  // Draw wireframe
  R3BeginLine();
  R3LoadPoint(Corner(0,0,0));
  R3LoadPoint(Corner(1,0,0));
  R3LoadPoint(Corner(1,1,0));
  R3LoadPoint(Corner(0,1,0));
  R3LoadPoint(Corner(0,0,0));
  R3LoadPoint(Corner(0,0,1));
  R3LoadPoint(Corner(1,0,1));
  R3LoadPoint(Corner(1,1,1));
  R3LoadPoint(Corner(0,1,1));
  R3LoadPoint(Corner(0,0,1));
  R3LoadPoint(Corner(0,0,0));
  R3LoadPoint(Corner(1,0,0));
  R3LoadPoint(Corner(1,0,1));
  R3LoadPoint(Corner(1,1,1));
  R3LoadPoint(Corner(1,1,0));
  R3LoadPoint(Corner(0,1,0));
  R3LoadPoint(Corner(0,1,1));
  R3EndLine();
}

// Assembly:
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rsi, 0x1b0(%rsp)
movq %rdi, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rax
movq %rax, 0x8(%rsp)
callq 0x79340
movq 0x8(%rsp), %rsi
leaq 0x190(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x190(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x178(%rsp), %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x178(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x160(%rsp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x160(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x148(%rsp), %rdi
xorl %r8d, %r8d
movl $0x1, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x148(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x130(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x130(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x118(%rsp), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x118(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x100(%rsp), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x100(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0xe8(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0xe8(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0xd0(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0xd0(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0xb8(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0xa0(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0xa0(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x88(%rsp), %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x88(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x70(%rsp), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x70(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x58(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x58(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x40(%rsp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x40(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdi
xorl %r8d, %r8d
movl $0x1, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x28(%rsp), %rdi
callq 0x50050
movq 0x8(%rsp), %rsi
leaq 0x10(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x10(%rsp), %rdi
callq 0x50050
callq 0x79350
addq $0x1b8, %rsp            # imm = 0x1B8
retq
nopw (%rax,%rax)