Unusually Slow Program

My OpenGL program is really slow and for months I have not been able to figure out why. Before, I was using the fixed function pipeline and it ran incredibly smooth. I am trying to load .obj models in the programmable pipeline now but it is incredibly slow.

My Code:


#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <stdio.h>
#include <glm/glm.hpp>
#define GLM_ENABLE_EXPERIMENTAL
#include <glm/ext.hpp>
#include "glm/gtx/string_cast.hpp"
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <iostream>
#include <fstream>
#include <vector>

//Global variables

float yaw = -90.0f, pitch,lastX,lastY;
glm::vec3 cameraFront = glm::vec3(0.0f, 0.0f, -1.0f);

//External functions

void mouse_callback(GLFWwindow* window, double xpos, double ypos)
{
    for(static bool firstMouse = true;firstMouse;firstMouse=false)
    {
        lastX = xpos;
        lastY = ypos;
    }
    float xoffset = xpos - lastX, yoffset = lastY - ypos;
    lastX = xpos;
    lastY = ypos;

    xoffset,yoffset *= 0.255;//Sensitivity

    yaw   += xoffset;//Yaw is rotating the camera on the X axis
    pitch += yoffset;//Pitch is rotating the camera

    if(pitch > 89.0f)
        pitch = 89.0f;
    if(pitch < -89.0f)
        pitch = -89.0f;
    glm::vec3 front;
    front.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch));
    front.y = sin(glm::radians(pitch));
    front.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch));
    cameraFront = glm::normalize(front);
}

void loadObj(const char * path, std::vector < glm::vec3 > & out_vertices, std::vector < glm::vec2 > & out_uvs, std::vector < glm::vec3 > & out_normals,const int facetype){
    std::vector< unsigned int > vertexIndices, uvIndices, normalIndices;
    std::vector< glm::vec2 > temp_uvs;
    std::vector< glm::vec3 > temp_normals,temp_vertices;FILE * file = fopen(path, "r");
    if( file == NULL ){
        std::cout<<"ERROR::Could not load asset file, "<<path<<'
';
    }
    while( 1 ){
        char lineHeader[128];
        // read the first word of the line
        int res = fscanf(file, "%s", lineHeader);
        if (res == EOF)
            break; // EOF = End Of File. Quit the loop.
        if ( strcmp( lineHeader, "v" ) == 0 ){
            glm::vec3 vertex;
            fscanf(file, "%f %f %f
", &vertex.x,&vertex.y,&vertex.z);
            temp_vertices.push_back(vertex);
        }else if ( strcmp( lineHeader, "vt" ) == 0 ){
            glm::vec2 uv;
            fscanf(file, "%f %f
", &uv.x, &uv.y );
            temp_uvs.push_back(uv);
        }else if ( strcmp( lineHeader, "vn" ) == 0 ){
            glm::vec3 normal;
            fscanf(file, "%f %f %f
", &normal.x, &normal.y, &normal.z );
            temp_normals.push_back(normal);
        }else if ( strcmp( lineHeader,"f" ) == 0 ){
            std::string vertex1, vertex2, vertex3;
            unsigned int vertexIndex[3], uvIndex[3], normalIndex[3];
            if(facetype==0){
                if (fscanf(file, "%d/%d/%d %d/%d/%d %d/%d/%d
", &vertexIndex[0], &uvIndex[0], &normalIndex[0], &vertexIndex[1], &uvIndex[1], &normalIndex[1], &vertexIndex[2], &uvIndex[2], &normalIndex[2] ) != 9){
                    std::cout<<path<<" can't be read by our simple parser : ( Try exporting with other options
";
                }
            }else if(facetype==1){
                if (fscanf(file, "%d %d %d
", &vertexIndex[0], &vertexIndex[1], &vertexIndex[2]) != 3){
                    std::cout<<path<<" can't be read by our simple parser : ( Try exporting with other options
";
                }
            }else if(facetype==2){
                if (fscanf(file, "%d//%d %d//%d %d//%d
", &vertexIndex[0],&normalIndex[0], &vertexIndex[1],&normalIndex[1], &vertexIndex[2],&normalIndex[2]) != 6){
                    std::cout<<path<<" can't be read by our simple parser : ( Try exporting with other options
";
                }
            }
            vertexIndices.push_back(vertexIndex[0]);
            vertexIndices.push_back(vertexIndex[1]);
            vertexIndices.push_back(vertexIndex[2]);
            uvIndices    .push_back(uvIndex[0]);
            uvIndices    .push_back(uvIndex[1]);
            uvIndices    .push_back(uvIndex[2]);
            normalIndices.push_back(normalIndex[0]);
            normalIndices.push_back(normalIndex[1]);
            normalIndices.push_back(normalIndex[2]);
        }
        // For each vertex of each triangle
        for( unsigned int i=0; i<vertexIndices.size(); ++i ){
            unsigned int vertexIndex = vertexIndices[i];
            glm::vec3 vertex = temp_vertices[ vertexIndex-1 ];
            out_vertices.push_back(vertex);
        }
    }
}

void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    glViewport(0, 0, width, height);
}  

int main() {

    //Firstly

    std::ios_base::sync_with_stdio(false);//Disables the synchronization between the C and C++ standard streams (though  mixing C- and C++ style I/O will be a challenge)
    std::cin.tie(NULL);//Unties cin from cout for faster cin and cout functions (this does mean that they are off sync but if you are not using cin than it doesnt matter)
    
    //Local variables

    glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f);
    glm::mat4 view,project,model;
    float lastFrame,frames=-1,current_time,last_time,cameraSpeed;

    if(!glfwInit()) {
        //Initialization failed
        fprintf(stderr,"Failed to initialize GLFW
");//Initialization error
        return -1;//A -1 returned to the main function indicates a unsuccessful run
    }
    //Window hints change the way the window works (like settings)
    //glfwWindowHint(GLFW_SAMPLES,4);//4x antialiasing
    //glEnable(GL_MULTISAMPLE);
    //"Major" and "minor" are two components of a single version number, separated by a dot.
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);//Version 3...
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);//.3
    //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);//To make MacOS happy; should not be needed
    glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);//We don't want the old OpenGL
    const GLFWvidmode*mode=glfwGetVideoMode(glfwGetPrimaryMonitor());//Constant (not-changable) GLFWvideomode (variable type) is named "mode", is set to the primary monitor
    glfwWindowHint(GLFW_RED_BITS,mode->redBits);
    glfwWindowHint(GLFW_GREEN_BITS,mode->greenBits);
    glfwWindowHint(GLFW_BLUE_BITS,mode->blueBits);
    glfwWindowHint(GLFW_REFRESH_RATE,mode->refreshRate);
    glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
    float win_width=mode->width,win_height=mode->height;
    GLFWwindow*window=glfwCreateWindow(win_width,win_height,"My Title",glfwGetPrimaryMonitor(),NULL);//Create window that is the size of "mode" (constant primary monitor), named "", on the primary monitor
    if(window==NULL) { //If glfw window does not exist
        fprintf(stderr,"Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible.
");
        glfwTerminate();//End glfw processes
        return -1;
    }
    glfwMakeContextCurrent(window);//Initialize GLEW
    glewExperimental=true;//Needed in core profile
    if(glewInit()!=GLEW_OK) { //If glew is not okay
        fprintf(stderr,"Failed to initialize GLEW
");
        return -1;
    }
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_CULL_FACE);//Enable face culling (culling means to not render)
    glCullFace(GL_BACK);//Prevent rendering triangles that are behind a shape (those that the player cannot see in the first place)
    glfwSetCursorPosCallback(window,mouse_callback);//When mouse enters window, run mouse_callback function. It also gives mouse position coordinates to that function
    glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);

    const char*vertexSource=R"glsl(
    #version 330 core
    layout (location = 0) in vec3 aPos;
    layout (location = 1) in vec3 aNormal;

    out vec3 FragPos;
    out vec3 Normal;

    uniform mat4 model;
    uniform mat4 view;
    uniform mat4 projection;

    void main()
    {
        FragPos = vec3(model * vec4(aPos, 1.0));
        Normal = mat3(transpose(inverse(model))) * aNormal;  
    
        gl_Position = projection * view * vec4(FragPos, 1.0);
    }
  )glsl";
    GLuint vertexShader=glCreateShader(GL_VERTEX_SHADER);//Creates shader object
    glShaderSource(vertexShader,1,&vertexSource,NULL);//Loads data to shader object
    glCompileShader(vertexShader);//Compiles shader object
    //Vertex compile error message
    int success;
    char infoLog[512];
    glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &success);
    if(!success)
    {
        glGetShaderInfoLog(vertexShader, 512, NULL, infoLog);
        std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED
" << infoLog << '
';
    }
    const char* fragmentSource=R"glsl(
    #version 330 core
    out vec4 FragColor;

    in vec3 Normal;  
    in vec3 FragPos;  
  
    uniform vec3 lightPos; 
    uniform vec3 viewPos; 
    uniform vec3 lightColor;
    uniform vec3 objectColor;

    void main()
    {
        // ambient
        float ambientStrength = 0.1;
        vec3 ambient = ambientStrength * lightColor;
    
        // diffuse 
        vec3 norm = normalize(Normal);
        vec3 lightDir = normalize(lightPos - FragPos);
        float diff = max(dot(norm, lightDir), 0.0);
        vec3 diffuse = diff * lightColor;
    
        // specular
        float specularStrength = 0.16;
        vec3 viewDir = normalize(viewPos - FragPos);
        vec3 reflectDir = reflect(-lightDir, norm);  
        float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32);
        vec3 specular = specularStrength * spec * lightColor;  
        
        vec3 result = (ambient + diffuse + specular) * objectColor;
        FragColor = vec4(result, 1.0);
    } 
  )glsl";
    //The fragment shader is compiled in exactly the same way
    GLuint fragmentShader=glCreateShader(GL_FRAGMENT_SHADER);
    glShaderSource(fragmentShader,1,&fragmentSource,NULL);
    glCompileShader(fragmentShader);
    //Fragment compile error message
    glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &success);
    if(!success)
    {
        glGetShaderInfoLog(fragmentShader, 512, NULL, infoLog);
        std::cout << "ERROR::SHADER::FRAGMENT::COMPILATION_FAILED
" << infoLog << '
';
    }
    //Combines shaders into one program
    GLuint shaderProgram=glCreateProgram();//Create shader program
    //Attatch vertex shader and fragment shader to new shader program
    glAttachShader(shaderProgram,vertexShader);
    glAttachShader(shaderProgram,fragmentShader);
    glLinkProgram(shaderProgram);//Links shader program
    //Shader program linking error message
    int InfoLogLength;
    glGetProgramiv(shaderProgram, GL_INFO_LOG_LENGTH, &InfoLogLength);
    if (InfoLogLength > 0) {
        std::vector<char> ProgramErrorMessage(InfoLogLength+1);
        glGetProgramInfoLog(shaderProgram, InfoLogLength, NULL, &ProgramErrorMessage[0]);
        std::cout<<&ProgramErrorMessage[0]<<'
';
    }
    //To actually start using the shaders in the program, you just have to call:
    glUseProgram(shaderProgram);

    // first, configure the cube's VAO (and VBO)
    unsigned int VBO, cubeVAO;
    glGenVertexArrays(1, &cubeVAO);
    glGenBuffers(1, &VBO);

    glBindBuffer(GL_ARRAY_BUFFER, VBO);

    std::vector< glm::vec3 > vertices,normals;
    std::vector< glm::vec2 > uvs;
    loadObj("teapot.obj",vertices,uvs,normals,1);
    int vert_size=vertices.size();
    glBufferData(GL_ARRAY_BUFFER, vert_size * sizeof(glm::vec3), &vertices[0], GL_STATIC_DRAW);//Now that our VBO is active we can copy the vertex data to it

    glBindVertexArray(cubeVAO);

    //position attribute
    glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,0);//Specify how the data for that input is retrieved from the array
    glEnableVertexAttribArray(0);
    //normal attribute
    glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,0,0);
    glEnableVertexAttribArray(1);

    // second, configure the light's VAO (VBO stays the same; the vertices are the same for the light object which is also a 3D cube)
    /*unsigned int lightVAO;
    glGenVertexArrays(1, &lightVAO);
    glBindVertexArray(lightVAO);

    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    // note that we update the lamp's position attribute's stride to reflect the updated buffer data
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);
    glEnableVertexAttribArray(0);*/

    glUniformMatrix4fv(glGetUniformLocation(shaderProgram,"projection"),1,GL_FALSE,glm::value_ptr(glm::perspective(45.0f,win_width/win_height,0.1f,100.0f)));
    glUniformMatrix4fv(glGetUniformLocation(shaderProgram,"model"),1,GL_FALSE,glm::value_ptr(glm::translate(glm::scale(glm::mat4(1.0f),glm::vec3(1.f)),glm::vec3(0.f,0.f,0.f))));
    glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "objectColor"), 1.0f, 0.5f, 0.f);
    glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "lightColor"), 1.0f, 1.0f, 1.0f);
    glm::vec3 lightPos=glm::vec3(1.2f, 6.f, 8.f);
    glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "lightPos"),lightPos.x,lightPos.y,lightPos.z);
    glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "viewPos"),cameraPos.x,cameraPos.y,cameraPos.z);

    //While the window is open
    while(!glfwWindowShouldClose(window)){
        
        //FPS counter (Frames per second)
        
        current_time=glfwGetTime();
        
        if (current_time - last_time < 1.0f){
            ++frames;
        }else{
            std::cout<<frames<<'
';
            frames=0;
            last_time=current_time;
        }
        

        cameraSpeed = 2.5f * (current_time - lastFrame);
        lastFrame = current_time;
        if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS){
            glfwSetWindowMonitor(window,NULL,0,0,win_width,win_height,GLFW_DONT_CARE);
            glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_NORMAL);
        }
        if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS)
            cameraPos += cameraSpeed * cameraFront;
        if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS)
            cameraPos -= cameraSpeed * cameraFront;
        if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS)
            cameraPos -= glm::normalize(glm::cross(cameraFront, glm::vec3(0.0f, 1.0f, 0.0f))) * cameraSpeed;
        if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS)
            cameraPos += glm::normalize(glm::cross(cameraFront, glm::vec3(0.0f, 1.0f, 0.0f))) * cameraSpeed;
        if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS)
            cameraPos += cameraSpeed * glm::vec3(0.0f, 1.0f, 0.0f);
        if (glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS)
            cameraPos -= cameraSpeed * glm::vec3(0.0f, 1.0f, 0.0f);
        /*if (glfwGetKey(window, GLFW_KEY_UP) == GLFW_PRESS){
            lightPos.z-=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }
        if (glfwGetKey(window, GLFW_KEY_DOWN) == GLFW_PRESS){
            lightPos.z+=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }
        if (glfwGetKey(window, GLFW_KEY_RIGHT) == GLFW_PRESS){
            lightPos.x+=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }
        if (glfwGetKey(window, GLFW_KEY_LEFT) == GLFW_PRESS){
            lightPos.x-=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }
        if (glfwGetKey(window, GLFW_KEY_EQUAL) == GLFW_PRESS){
            lightPos.y+=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }
        if (glfwGetKey(window, GLFW_KEY_MINUS) == GLFW_PRESS){
            lightPos.y-=0.5;
            std::cout<<glm::to_string(lightPos)<<'
';
        }*/

        glClearColor(0.5f,0.5f,0.5f,0.0f);
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
        glUniformMatrix4fv(glGetUniformLocation(shaderProgram,"view"),1,GL_FALSE,glm::value_ptr(glm::lookAt(cameraPos, cameraPos + cameraFront, glm::vec3(0.0f, 1.0f, 0.0f))));
        glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "viewPos"),cameraPos.x,cameraPos.y,cameraPos.z);
        //glProgramUniform3f(shaderProgram, glGetUniformLocation(shaderProgram, "lightPos"),lightPos.x,lightPos.y,lightPos.z);
        glDrawArrays(GL_TRIANGLES,0,vert_size);
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    glDeleteVertexArrays(1,&cubeVAO);
    glDeleteBuffers(1,&VBO);
    glfwTerminate();
    return 0;//A 0 returned to the main function indicates a successful run
}

What do you mean by “slow”? What timings are you getting (and for what)? You’re only rendering one teapot.

A few thoughts:


        Normal = mat3(transpose(inverse(model))) * aNormal;  

Yeah… don’t do this. You’re inverting and transposing a matrix for every single vertex you throw down the pipe (worst-case). Instead, compute this on the CPU and pass it into the shader using a uniform mat3. Also, depending on what kind of transforms you add to your model transform, you may be able to just use the upper-left 3x3 of the model transform itself for your “normal transform”.

Just for timing purposes, comment out this line, replace it with one that just sets Normal to vec3(0,0,1), and compare your performance before/after. Be sure to disable VSync and do your timing properly so you can measure delta frame time (in ms) .

Also, I’m a little puzzled because it looks like you’re trying to tell GL to read your positions as normals too:


  //position attribute
  glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,0);//Specify how the data for that input is retrieved from the array
  glEnableVertexAttribArray(0);
  //normal attribute
  glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,0,0);
  glEnableVertexAttribArray(1);

Dark photon has spoken!

[QUOTE=Dark Photon;1291346]What do you mean by “slow”? What timings are you getting (and for what)? You’re only rendering one teapot.

A few thoughts:


        Normal = mat3(transpose(inverse(model))) * aNormal;  

Yeah… don’t do this. You’re inverting and transposing a matrix for every single vertex you throw down the pipe (worst-case). Instead, compute this on the CPU and pass it into the shader using a uniform mat3. Also, depending on what kind of transforms you add to your model transform, you may be able to just use the upper-left 3x3 of the model transform itself for your “normal transform”.

Just for timing purposes, comment out this line, replace it with one that just sets Normal to vec3(0,0,1), and compare your performance before/after. Be sure to disable VSync and do your timing properly so you can measure delta frame time (in ms) .

Also, I’m a little puzzled because it looks like you’re trying to tell GL to read your positions as normals too:


  //position attribute
  glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,0);//Specify how the data for that input is retrieved from the array
  glEnableVertexAttribArray(0);
  //normal attribute
  glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,0,0);
  glEnableVertexAttribArray(1);

[/QUOTE]

Thanks for your response.

My program runs at approximately 11-14 frames per second when rendering the single teapot. I know that this has nothing to do with my computer as I am using a Razer Blade 14" with GTX 1060 graphics card (you can see the tech specs at the bottom of this page). It also happens to run less than 1 frame per second on my chromebook.

I set Normal to vec3(0,0,1) but it did not make a difference as far as I could tell.

I am relatively new to OpenGL so I am not 100% sure how to respond to “I’m a little puzzled because it looks like you’re trying to tell GL to read your positions as normals too.” What I was using before was not working so I just tried random stuff until


  //position attribute
  glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,0);//Specify how the data for that input is retrieved from the array
  glEnableVertexAttribArray(0);
  //normal attribute
  glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,0,0);
  glEnableVertexAttribArray(1);

happened to work out for me.

That’s not good. That’s about 90 ms/frame. A typical LCD VSync is 60Hz which is 16.6ms/frame.

I know that this has nothing to do with my computer as I am using a Razer Blade 14" with GTX 1060 graphics card (you can see the tech specs at the bottom of this page).

Yeah, you should be easily able to do better than that. NVidia makes good GL drivers.

My bet is you are either not rendering on the NVidia GPU (typically called the “high-performance GPU” in app settings), and/or you are falling into a software (non-GPU) rendering path – possibly due to the former.

See these:

https://forums.geforce.com/default/topic/555317/geforce-drivers/where-is-the-quot-use-high-performance-gpu-quot-option-/1/

For what it’s worth, I downloaded and compiled your source code. I couldn’t run it because I of course didn’t have “teapot.obj”, but I did substitute a single triangle in the vertices/normals/uvs arrays, and it did run successfully.

With that one triangle, I got 59 fps with your current draw loop (effectively the 60Hz default VSync rate of my LCD monitor with VSync enabled). This is ~16.6ms/frame. When I disabled VSync, I found that I got ~5000 fps, with a per-frame timer confirming each frame was consuming only 0.2ms. Both much less than your 90 ms/frame. I wasn’t testing with your teapot, but that shouldn’t make much difference here unless your teapot has many millions of triangles in it. This is running on NVidia’s GL drivers with an old GeForce GTX 760 GPU.

I am relatively new to OpenGL so I am not 100% sure how to respond to “I’m a little puzzled because it looks like you’re trying to tell GL to read your positions as normals too.” What I was using before was not working so I just tried random stuff until

Ok, well I wouldn’t recommend trying random stuff as a way to learn anything including OpenGL. Take a look at your glVertexAttribPointer calls. Notice that you are providing the same arguments to both calls except for the attribute index (with the same GL_ARRAY_BUFFER bound). This means you are telling both attributes to read the exact same data into each attribute, which is probably not what you intended.

With that one triangle, I got 59 fps with your current draw loop (effectively the 60Hz default VSync rate of my LCD monitor with VSync enabled).

I have tried the program with a cube. With the cube it also runs at 58-60 frames per second. The program seems to get exponentially slower as I add more vertices and faces to my models. I have tried a number of online .obj files and I have tried 2 of my own that I made in blender.

I wasn’t testing with your teapot, but that shouldn’t make much difference here unless your teapot has many millions of triangles in it.

I am not sure exactly how many triangles are in the file but the file has a total of 9965 lines. This really doesn’t seem to be much compared to some of the others that I have found online or made myself. I have a tree .obj file that has 2942 total lines and it runs at 37-28 frames per second by itself. Keyboard input with the low-poly tree lags by approximately 2 seconds which is actually pretty long.

My bet is you are either not rendering on the NVidia GPU (typically called the “high-performance GPU” in app settings), and/or you are falling into a software (non-GPU) rendering path – possibly due to the former.

I checked and I am using the GTX 1060 and the nvidia-driver-390.

low poly “tree.obj”:

# Blender v2.79 (sub 0) OBJ File: ''
# [www.blender.org](http://www.blender.org)
mtllib tree_model.mtl
o Cube.002
v -0.494339 4.220548 1.693390
v 1.148390 4.025903 0.472376
v 0.636061 4.956030 1.777606
v 0.702187 4.468359 0.005329
v 0.087319 3.451966 1.620765
v 0.622995 3.662630 1.531211
v 0.669957 3.849302 0.230463
v -0.778402 3.711006 0.898752
v -0.316106 3.604835 0.489693
v 1.292720 4.399176 1.150831
v 1.271598 4.488678 0.587576
v 0.407860 4.319372 2.058455
v 0.879689 4.395326 1.673027
v -0.209225 4.266788 -0.120574
v -0.996091 4.497072 0.882450
v -0.380400 5.114817 1.428376
v 0.533210 5.095462 1.080542
v -0.894238 5.002576 1.311229
v -0.432074 4.950055 0.424518
v 0.056985 4.946461 0.238532
v -1.071508 4.255725 -0.367262
v 0.318202 3.519660 -0.933805
v -0.103877 4.295687 0.108888
v 0.243622 3.931551 -1.319140
v -0.971061 3.482798 -0.380192
v -0.500327 3.451706 -0.269602
v -0.008442 3.582154 -1.226646
v -1.252520 4.030925 -1.077873
v -0.885287 3.813072 -1.290080
v 0.340047 3.653566 -0.359115
v 0.476095 3.662251 -0.742569
v -0.493057 3.943419 0.170790
v -0.112390 3.835749 -0.032171
v -0.389686 4.193407 -1.648841
v -1.104070 4.672618 -1.005384
v -0.616133 4.824051 -0.436884
v 0.047461 4.418166 -0.432065
v -0.997378 4.980648 -0.623653
v -0.468775 4.721107 -1.193200
v -0.107947 4.522393 -1.242616
v -1.149091 3.245222 0.905631
v -1.576576 3.047470 -0.035655
v -1.631554 2.720742 0.742833
v -1.235748 3.129154 -0.183944
v -1.553113 3.571396 0.739721
v -1.713387 3.300368 0.566607
v -1.340837 3.217403 -0.113329
v -0.919024 3.609580 0.683422
v -0.973893 3.573103 0.414159
v -1.777988 2.924748 0.090152
v -1.563322 3.008357 -0.038320
v -1.728813 2.955458 0.814137
v -1.711894 2.951878 0.593419
v -0.781111 3.317806 0.039552
v -0.697680 3.206161 0.805033
v -0.943350 2.944625 0.852169
v -1.378075 2.788188 0.458345
v -0.703460 2.983725 0.986557
v -0.735788 3.077816 0.414612
v -0.868597 3.052877 0.151792
v 1.650856 1.892760 -0.372921
v 0.369595 1.898220 -0.302199
v 1.150151 2.243078 -0.906287
v 0.506826 2.019985 0.065553
v 1.348327 1.391548 -0.518723
v 1.047989 1.581860 -0.675262
v 0.548778 1.822939 -0.021511
v 1.592455 1.621003 0.106092
v 1.277797 1.622328 0.178692
v 0.504235 1.966107 -0.664643
v 0.354464 1.972658 -0.413694
v 1.252334 1.934697 -0.941609
v 1.005988 1.957656 -0.836633
v 0.968948 1.989136 0.440219
v 1.735045 2.125344 0.100656
v 1.654612 2.336317 -0.311758
v 0.995720 2.303628 -0.508388
v 1.858442 2.361096 -0.103800
v 1.305556 2.280084 0.197802
v 0.978396 2.256960 0.187713
vn -0.2564 -0.9658 -0.0391
vn 0.1869 -0.9625 -0.1967
vn 0.7715 -0.6123 0.1728
vn -0.2213 -0.6536 0.7238
vn 0.5184 -0.3160 -0.7946
vn 0.7308 -0.3674 0.5753
vn 0.7151 -0.0164 -0.6988
vn 0.0902 0.9791 0.1825
vn 0.4201 0.8226 -0.3832
vn -0.0487 0.9879 -0.1473
vn -0.0808 0.9916 -0.1009
vn -0.1189 0.9239 -0.3637
vn -0.2716 0.2837 0.9196
vn 0.4249 0.7894 -0.4430
vn 0.0207 0.4607 -0.8873
vn -0.2970 0.5344 -0.7913
vn -0.7507 0.5087 -0.4214
vn -0.2687 0.3085 0.9125
vn -0.3734 0.4832 0.7919
vn 0.9122 0.4063 -0.0533
vn 0.5762 0.6751 0.4607
vn 0.6682 0.7382 0.0922
vn 0.2027 -0.3440 -0.9168
vn -0.7275 0.2669 -0.6320
vn -0.8616 -0.2161 0.4594
vn -0.8608 -0.2290 0.4545
vn 0.6160 0.1225 0.7782
vn 0.6252 -0.3537 0.6957
vn 0.9681 -0.2392 -0.0743
vn -0.0264 -0.6753 -0.7371
vn -0.6456 -0.4587 -0.6106
vn -0.7906 -0.2307 -0.5672
vn -0.6308 -0.5309 0.5659
vn 0.3952 -0.9112 -0.1165
vn 0.3457 -0.9305 -0.1211
vn 0.1555 0.0244 0.9875
vn -0.6133 -0.7222 -0.3199
vn -0.2146 -0.9114 -0.3511
vn 0.2495 -0.9452 0.2107
vn -0.7260 -0.4529 0.5176
vn 0.5018 -0.5407 -0.6751
vn 0.2362 -0.6723 0.7015
vn 0.8329 -0.2901 -0.4713
vn 0.4925 0.8090 0.3209
vn 0.8485 0.5205 -0.0958
vn 0.4844 0.8746 0.0196
vn 0.4690 0.8826 0.0331
vn 0.4935 0.8029 -0.3342
vn -0.0797 0.6778 0.7309
vn 0.8493 0.5183 -0.1003
vn 0.5497 0.4206 -0.7218
vn 0.2622 0.6529 -0.7106
vn -0.2291 0.7878 -0.5717
vn -0.4265 0.3400 0.8381
vn -0.3855 0.5554 0.7368
vn 0.9641 -0.0940 0.2484
vn 0.6357 0.3107 0.7066
vn 0.8747 0.3651 0.3186
vn 0.2732 -0.4255 -0.8627
vn -0.2676 0.6064 -0.7488
vn -0.9768 0.1528 0.1497
vn -0.9624 0.2022 0.1812
vn 0.3900 -0.2766 0.8783
vn 0.2029 -0.6550 0.7279
vn 0.5374 -0.8256 0.1720
vn -0.1032 -0.6081 -0.7872
vn -0.5378 -0.0900 -0.8383
vn -0.5668 0.2208 -0.7937
vn -0.9506 -0.1283 0.2827
vn -0.0467 -0.9863 -0.1584
vn -0.0300 -0.9882 -0.1501
vn -0.2314 -0.0463 0.9718
vn -0.0703 0.9903 -0.1198
vn -0.2400 0.8740 -0.4224
vn -0.6483 0.6382 -0.4153
vn -0.3907 0.5482 0.7395
vn -0.4300 0.1935 -0.8818
vn -0.9915 0.0057 0.1299
vn -0.3844 -0.0675 -0.9207
vn 0.3027 -0.9521 0.0440
vn 0.1802 -0.8726 -0.4540
vn 0.4016 -0.9083 -0.1168
vn 0.3953 -0.9025 -0.1708
vn -0.1343 -0.8611 0.4903
vn 0.3397 -0.8719 -0.3527
vn 0.1636 -0.9082 -0.3853
vn 0.5389 -0.4732 -0.6969
vn 0.8216 -0.4299 -0.3744
vn 0.9941 -0.0828 -0.0698
vn -0.2290 -0.0902 0.9692
vn -0.0047 -0.2925 0.9563
vn -0.5337 -0.5821 -0.6135
vn -0.4044 -0.9089 0.1021
vn 0.0911 -0.8974 -0.4318
vn 0.0781 0.6779 -0.7310
vn 0.9942 0.0238 -0.1049
vn 0.2220 0.6130 0.7582
vn 0.2323 0.3953 0.8887
vn -0.9287 -0.3650 -0.0653
vn -0.9970 -0.0101 -0.0763
vn -0.4808 -0.1036 -0.8707
vn 0.0049 0.8275 -0.5614
vn 0.5896 0.7757 -0.2252
vn 0.8798 0.4747 -0.0267
vn 0.0469 0.4984 0.8657
vn -0.6177 0.6651 -0.4196
vn -0.6332 0.6464 -0.4258
vn -0.5180 -0.2214 0.8262
vn 0.0698 -0.9449 0.3197
vn -0.3233 -0.9077 0.2677
vn -0.5460 -0.7631 -0.3458
vn 0.5777 -0.6779 -0.4548
vn -0.8259 -0.3655 0.4292
vn -0.3026 -0.4044 -0.8630
vn -0.9353 0.2224 0.2754
vn -0.0037 0.9884 -0.1519
vn -0.4524 0.8905 0.0484
vn -0.0723 0.9953 0.0649
vn -0.1027 0.9916 0.0781
vn -0.0198 0.9949 -0.0992
vn 0.2568 0.8974 -0.3587
vn -0.4604 0.8858 0.0589
vn -0.4722 0.6134 0.6330
vn -0.0708 0.6856 0.7245
vn 0.3580 0.4977 0.7900
vn 0.7449 0.0520 -0.6651
vn 0.7865 0.3210 -0.5275
vn -0.8583 0.3396 -0.3848
vn -0.2319 0.6659 -0.7091
vn -0.4720 0.8278 -0.3033
vn -0.5861 -0.4286 0.6876
vn 0.3258 0.3537 0.8768
vn 0.9021 -0.4287 0.0502
vn 0.9615 -0.2722 -0.0372
vn -0.3939 -0.0253 -0.9188
vn -0.3906 -0.3997 -0.8292
vn -0.6403 -0.6761 -0.3645
vn -0.3607 -0.7234 0.5887
vn 0.1987 -0.4525 0.8693
vn 0.4189 -0.1087 0.9015
vn 0.8649 -0.4744 -0.1637
vn -0.4136 -0.9103 0.0199
vn -0.5074 -0.8588 -0.0707
vn 0.4545 -0.0153 -0.8906
usemtl (null)
s off
f 5//1 8//1 9//1
f 5//2 9//2 7//2
f 6//3 2//3 10//3
f 1//4 6//4 12//4
f 2//5 7//5 4//5
f 6//6 10//6 13//6
f 2//7 4//7 11//7
f 3//8 17//8 16//8
f 11//9 20//9 17//9
f 20//10 19//10 17//10
f 19//11 18//11 17//11
f 18//12 16//12 17//12
f 18//13 3//13 16//13
f 11//14 4//14 20//14
f 14//15 20//15 4//15
f 14//16 19//16 20//16
f 15//17 18//17 19//17
f 1//18 3//18 18//18
f 1//19 12//19 3//19
f 13//20 17//20 3//20
f 13//21 10//21 17//21
f 10//22 11//22 17//22
f 4//23 7//23 14//23
f 14//24 15//24 19//24
f 15//25 1//25 18//25
f 15//26 8//26 1//26
f 12//27 13//27 3//27
f 12//28 6//28 13//28
f 10//29 2//29 11//29
f 9//30 14//30 7//30
f 9//31 8//31 14//31
f 8//32 15//32 14//32
f 5//33 1//33 8//33
f 2//34 6//34 7//34
f 6//35 5//35 7//35
f 5//36 6//36 1//36
f 25//37 28//37 29//37
f 25//38 29//38 27//38
f 26//39 22//39 30//39
f 21//40 26//40 32//40
f 22//41 27//41 24//41
f 26//42 30//42 33//42
f 22//43 24//43 31//43
f 23//44 37//44 36//44
f 31//45 40//45 37//45
f 40//46 39//46 37//46
f 39//47 38//47 37//47
f 38//48 36//48 37//48
f 38//49 23//49 36//49
f 31//50 24//50 40//50
f 34//51 40//51 24//51
f 34//52 39//52 40//52
f 35//53 38//53 39//53
f 21//54 23//54 38//54
f 21//55 32//55 23//55
f 33//56 37//56 23//56
f 33//57 30//57 37//57
f 30//58 31//58 37//58
f 24//59 27//59 34//59
f 34//60 35//60 39//60
f 35//61 21//61 38//61
f 35//62 28//62 21//62
f 32//63 33//63 23//63
f 32//64 26//64 33//64
f 30//65 22//65 31//65
f 29//66 34//66 27//66
f 29//67 28//67 34//67
f 28//68 35//68 34//68
f 25//69 21//69 28//69
f 22//70 26//70 27//70
f 26//71 25//71 27//71
f 25//72 26//72 21//72
f 45//73 48//73 49//73
f 45//74 49//74 47//74
f 46//75 42//75 50//75
f 41//76 46//76 52//76
f 42//77 47//77 44//77
f 46//78 50//78 53//78
f 42//79 44//79 51//79
f 43//80 57//80 56//80
f 51//81 60//81 57//81
f 60//82 59//82 57//82
f 59//83 58//83 57//83
f 58//84 56//84 57//84
f 58//85 43//85 56//85
f 51//86 44//86 60//86
f 54//87 60//87 44//87
f 54//88 59//88 60//88
f 55//89 58//89 59//89
f 41//90 43//90 58//90
f 41//91 52//91 43//91
f 53//92 57//92 43//92
f 53//93 50//93 57//93
f 50//94 51//94 57//94
f 44//95 47//95 54//95
f 54//96 55//96 59//96
f 55//97 41//97 58//97
f 55//98 48//98 41//98
f 52//99 53//99 43//99
f 52//100 46//100 53//100
f 50//101 42//101 51//101
f 49//102 54//102 47//102
f 49//103 48//103 54//103
f 48//104 55//104 54//104
f 45//105 41//105 48//105
f 42//106 46//106 47//106
f 46//107 45//107 47//107
f 45//108 46//108 41//108
f 65//109 68//109 69//109
f 65//110 69//110 67//110
f 66//111 62//111 70//111
f 61//112 66//112 72//112
f 62//113 67//113 64//113
f 66//114 70//114 73//114
f 62//115 64//115 71//115
f 63//116 77//116 76//116
f 71//117 80//117 77//117
f 80//118 79//118 77//118
f 79//119 78//119 77//119
f 78//120 76//120 77//120
f 78//121 63//121 76//121
f 71//122 64//122 80//122
f 74//123 80//123 64//123
f 74//124 79//124 80//124
f 75//125 78//125 79//125
f 61//126 63//126 78//126
f 61//127 72//127 63//127
f 73//128 77//128 63//128
f 73//129 70//129 77//129
f 70//130 71//130 77//130
f 64//131 67//131 74//131
f 74//132 75//132 79//132
f 75//133 61//133 78//133
f 75//134 68//134 61//134
f 72//135 73//135 63//135
f 72//136 66//136 73//136
f 70//137 62//137 71//137
f 69//138 74//138 67//138
f 69//139 68//139 74//139
f 68//140 75//140 74//140
f 65//141 61//141 68//141
f 62//142 66//142 67//142
f 66//143 65//143 67//143
f 65//144 66//144 61//144
o Cube.001
v 2.321813 3.658466 0.711615
v 2.295732 3.839983 -0.126339
v 2.844695 3.930675 -0.057559
v 1.546924 5.080733 -0.092243
v 2.876349 5.136010 0.971391
v 2.221767 5.301600 0.944377
v 2.207430 3.840171 0.945041
v 2.184843 3.857839 1.597753
v 2.895459 4.002355 0.881467
v 1.588838 3.577576 0.486401
v 1.771829 3.827296 1.487502
v 1.058254 3.835693 -0.102092
v 2.985325 4.476159 1.063902
v 0.994771 4.087595 1.025514
v 1.774974 4.541438 1.727653
v 0.993575 4.392887 0.071952
v 2.456299 4.780703 -0.294637
v 2.060819 4.513610 -0.388566
v 1.329616 5.230210 1.274671
v 1.084747 4.609063 0.697463
v 2.484364 5.156035 0.184476
v 1.367749 5.285383 0.363365
v 2.921566 3.407166 1.078591
v 3.057736 3.300126 0.674210
v 3.309274 3.170419 0.804630
v 2.906682 4.068356 0.292447
v 3.438362 4.042653 1.227762
v 3.222284 4.199186 1.040691
v 2.878151 3.679293 1.182252
v 2.658630 3.812144 1.611710
v 3.258101 3.517684 1.316323
v 2.432039 3.522405 0.771976
v 2.525585 3.871604 1.481010
v 2.253600 3.555246 0.327549
v 3.351095 3.715398 1.383576
v 2.199091 3.961346 0.927285
v 2.626294 4.183219 1.463522
v 2.372837 3.790300 0.377032
v 3.364489 3.588588 0.482066
v 3.101008 3.595285 0.396942
v 2.737731 4.320802 1.239209
v 2.418118 4.003075 0.707898
v 3.389320 3.937483 0.673981
v 2.926568 4.195545 0.462286
v 1.659276 3.420426 -0.638788
v 1.362224 3.677568 -1.042134
v 1.662746 3.595114 -1.273883
v 1.200438 4.594296 -0.565677
v 2.384549 4.160403 -0.563384
v 2.091534 4.369382 -0.343392
v 1.764140 3.551386 -0.408029
v 2.023335 3.347552 0.038500
v 2.145248 3.505353 -0.751036
v 1.113568 3.524345 -0.362140
v 1.796044 3.428211 0.140951
v 0.606427 3.841190 -0.409010
v 2.358687 3.714081 -0.657220
v 1.165399 3.784380 0.233508
v 2.005617 3.808440 0.297577
v 0.811457 4.128820 -0.286542
v 1.563355 4.241519 -1.178981
v 1.273156 4.182753 -1.020371
v 1.927503 4.217742 0.269625
v 1.182942 4.120125 -0.002511
v 1.861868 4.427929 -0.867487
v 1.425523 4.605473 -0.363176
vn -0.0903 -0.8069 0.5838
vn 0.1718 -0.9617 -0.2137
vn -0.0169 -0.3678 -0.9297
vn 0.1542 -0.1994 -0.9677
vn -0.8909 0.1634 -0.4238
vn 0.1867 0.5825 -0.7911
vn 0.0887 0.9835 -0.1578
vn 0.0430 0.9176 -0.3953
vn -0.4798 0.5417 0.6902
vn -0.2937 0.7103 -0.6397
vn 0.1683 0.7663 0.6201
vn 0.2479 0.9637 -0.0990
vn 0.8479 0.3311 -0.4140
vn 0.8953 0.3237 -0.3060
vn -0.3683 0.7422 -0.5599
vn -0.7866 0.6099 -0.0961
vn -0.9749 0.2116 0.0690
vn -0.9583 0.2511 0.1363
vn 0.1870 0.6213 0.7609
vn 0.3659 -0.2240 -0.9033
vn -0.4042 0.1083 -0.9082
vn -0.4074 0.2289 -0.8841
vn -0.9939 -0.1052 -0.0324
vn -0.6812 0.0402 0.7310
vn -0.5566 -0.2626 0.7882
vn -0.2238 -0.3098 0.9241
vn 0.4794 0.1990 0.8547
vn 0.4823 0.1244 0.8672
vn 0.6959 -0.3692 0.6159
vn 0.9730 0.1344 -0.1874
vn 0.9844 -0.1713 -0.0401
vn 0.1852 -0.9592 -0.2135
vn -0.0046 -0.9173 -0.3982
vn -0.5621 -0.8133 0.1501
vn -0.4557 -0.8405 0.2930
vn 0.2623 -0.9465 0.1881
vn 0.0659 -0.9974 0.0293
vn 0.5054 -0.8620 0.0385
vn 0.2290 -0.7106 0.6653
vn 0.2323 -0.9720 0.0344
vn -0.5540 -0.3721 0.7447
vn -0.3112 -0.9394 0.1438
vn 0.0914 -0.6889 -0.7191
vn 0.0885 -0.6157 -0.7830
vn -0.5036 0.7188 -0.4793
vn 0.6325 0.0899 -0.7693
vn 0.5645 0.7715 -0.2935
vn 0.5849 0.6149 -0.5290
vn -0.2896 0.9465 0.1421
vn 0.0041 0.8571 -0.5151
vn 0.3535 0.8770 0.3255
vn 0.6803 0.7067 -0.1945
vn 0.9912 -0.1147 -0.0660
vn 0.9943 -0.0960 0.0458
vn 0.2854 0.4462 -0.8482
vn -0.4696 0.7704 -0.4312
vn -0.5421 0.7386 -0.4008
vn -0.4266 0.8659 -0.2612
vn 0.3028 0.7380 0.6031
vn 0.2079 -0.6857 -0.6975
vn -0.0348 -0.2292 -0.9728
vn 0.0724 0.1701 -0.9828
vn -0.7824 0.4803 -0.3964
vn -0.6129 0.7719 0.1689
vn -0.8035 0.2889 0.5206
vn -0.6224 0.2429 0.7441
vn 0.3159 0.3379 0.8866
vn 0.3369 0.3744 0.8639
vn 0.2333 -0.4097 0.8819
vn 0.9720 -0.2021 0.1200
vn 0.7609 -0.4990 0.4147
vn -0.4847 -0.8720 0.0676
vn -0.3256 -0.9435 0.0610
vn -0.8021 -0.5258 0.2832
vn -0.7634 -0.5338 0.3636
vn -0.1022 -0.8870 0.4503
vn -0.4466 -0.8935 0.0481
vn -0.1167 -0.8272 0.5497
vn -0.4473 -0.3798 0.8097
vn -0.4115 -0.9087 0.0708
vn 0.0696 -0.8808 0.4682
vn -0.3317 -0.8870 -0.3212
vn -0.6504 -0.0821 -0.7552
vn -0.6065 0.0234 -0.7948
vn -0.5194 0.6615 0.5409
vn -0.1263 0.7253 -0.6767
vn 0.3349 0.9413 -0.0416
vn 0.1450 0.9659 -0.2145
vn 0.1647 0.5340 0.8293
vn -0.1943 0.9631 0.1862
vn 0.7022 0.6243 0.3423
vn 0.5101 0.8505 -0.1285
vn 0.5776 0.2423 -0.7795
vn 0.6415 0.2071 -0.7387
vn -0.3184 0.9162 -0.2431
vn -0.4238 0.6993 0.5756
vn -0.5145 0.5110 0.6886
vn -0.3493 0.5510 0.7579
vn 0.8652 0.1966 0.4612
vn -0.4720 -0.0453 -0.8804
vn -0.7949 0.3811 -0.4721
vn -0.6716 0.6387 -0.3756
vn -0.7222 0.2383 0.6494
vn -0.0774 0.0532 0.9956
vn -0.0612 -0.3511 0.9343
vn 0.2176 -0.4719 0.8544
vn 0.9260 -0.1283 0.3551
vn 0.9197 -0.1650 0.3564
vn 0.7060 -0.7074 -0.0324
vn 0.6467 0.1209 -0.7531
vn 0.6512 -0.3674 -0.6640
vn -0.4259 -0.8718 -0.2421
vn -0.4717 -0.8074 -0.3544
vn -0.5151 -0.7682 0.3802
vn -0.4072 -0.8236 0.3950
vn 0.0250 -0.9751 -0.2202
vn -0.3996 -0.8992 -0.1785
vn 0.1068 -0.9588 -0.2631
vn 0.2454 -0.8867 0.3917
vn -0.3206 -0.9181 -0.2330
usemtl (null)
s off
f 81//145 87//145 90//145
f 81//146 90//146 82//146
f 82//147 92//147 98//147
f 83//148 82//148 97//148
f 84//149 100//149 102//149
f 98//150 84//150 101//150
f 101//151 102//151 86//151
f 101//152 84//152 102//152
f 102//153 100//153 86//153
f 100//154 99//154 86//154
f 99//155 85//155 86//155
f 86//156 85//156 101//156
f 83//157 101//157 85//157
f 83//158 97//158 101//158
f 97//159 98//159 101//159
f 96//160 100//160 84//160
f 96//161 94//161 100//161
f 94//162 99//162 100//162
f 95//163 85//163 99//163
f 97//164 82//164 98//164
f 98//165 96//165 84//165
f 98//166 92//166 96//166
f 92//167 94//167 96//167
f 94//168 95//168 99//168
f 94//169 91//169 95//169
f 91//170 88//170 95//170
f 95//171 93//171 85//171
f 95//172 88//172 93//172
f 88//173 89//173 93//173
f 93//174 83//174 85//174
f 93//175 89//175 83//175
f 81//176 82//176 83//176
f 82//177 90//177 92//177
f 90//178 94//178 92//178
f 90//179 91//179 94//179
f 90//180 87//180 91//180
f 87//181 88//181 91//181
f 89//182 81//182 83//182
f 89//183 87//183 81//183
f 87//184 89//184 88//184
f 103//185 109//185 112//185
f 103//186 112//186 104//186
f 104//187 114//187 120//187
f 105//188 104//188 119//188
f 106//189 122//189 124//189
f 120//190 106//190 123//190
f 123//191 124//191 108//191
f 123//192 106//192 124//192
f 124//193 122//193 108//193
f 122//194 121//194 108//194
f 121//195 107//195 108//195
f 108//196 107//196 123//196
f 105//197 123//197 107//197
f 105//198 119//198 123//198
f 119//199 120//199 123//199
f 118//200 122//200 106//200
f 118//201 116//201 122//201
f 116//202 121//202 122//202
f 117//203 107//203 121//203
f 119//204 104//204 120//204
f 120//205 118//205 106//205
f 120//206 114//206 118//206
f 114//207 116//207 118//207
f 116//208 117//208 121//208
f 116//209 113//209 117//209
f 113//210 110//210 117//210
f 117//211 115//211 107//211
f 117//212 110//212 115//212
f 110//213 111//213 115//213
f 115//214 105//214 107//214
f 115//215 111//215 105//215
f 103//216 104//216 105//216
f 104//217 112//217 114//217
f 112//218 116//218 114//218
f 112//219 113//219 116//219
f 112//220 109//220 113//220
f 109//221 110//221 113//221
f 111//222 103//222 105//222
f 111//223 109//223 103//223
f 109//224 111//224 110//224
f 125//225 131//225 134//225
f 125//226 134//226 126//226
f 126//227 136//227 142//227
f 127//228 126//228 141//228
f 128//229 144//229 146//229
f 142//230 128//230 145//230
f 145//231 146//231 130//231
f 145//232 128//232 146//232
f 146//233 144//233 130//233
f 144//234 143//234 130//234
f 143//235 129//235 130//235
f 130//236 129//236 145//236
f 127//237 145//237 129//237
f 127//238 141//238 145//238
f 141//239 142//239 145//239
f 140//240 144//240 128//240
f 140//241 138//241 144//241
f 138//242 143//242 144//242
f 139//243 129//243 143//243
f 141//244 126//244 142//244
f 142//245 140//245 128//245
f 142//246 136//246 140//246
f 136//247 138//247 140//247
f 138//248 139//248 143//248
f 138//249 135//249 139//249
f 135//250 132//250 139//250
f 139//251 137//251 129//251
f 139//252 132//252 137//252
f 132//253 133//253 137//253
f 137//254 127//254 129//254
f 137//255 133//255 127//255
f 125//256 126//256 127//256
f 126//257 134//257 136//257
f 134//258 138//258 136//258
f 134//259 135//259 138//259
f 134//260 131//260 135//260
f 131//261 132//261 135//261
f 133//262 125//262 127//262
f 133//263 131//263 125//263
f 131//264 133//264 132//264
o Cube
v 0.625865 2.910986 0.250274
v 0.209411 2.331682 -0.161945
v -0.562134 1.409659 0.188882
v 0.260700 2.381122 -0.310884
v -0.358464 1.484791 -0.122946
v 0.365340 2.356272 -0.255910
v 0.265511 2.420727 -0.261494
v 0.025321 2.114132 -0.243953
v 0.253531 2.407965 -0.124410
v 0.331937 2.294597 -0.161357
v -0.030517 1.949551 -0.334938
v -0.031303 2.034561 -0.225896
v 0.070754 1.962685 -0.170494
v 0.119036 1.930217 -0.297710
v 0.058720 2.053681 -0.370873
v -0.400490 1.510228 -0.133182
v -0.316954 1.498961 0.035714
v -0.294103 1.439727 -0.084054
v -0.422375 1.095693 0.135235
v -0.326777 0.985355 -0.027548
v -0.500374 1.009465 -0.118442
v -0.591683 1.083622 0.047060
v 0.762734 3.167595 0.355902
v -0.337769 0.265232 0.205301
v -0.188256 0.290057 -0.067918
v -0.460426 0.270297 -0.219132
v -0.610543 0.250536 0.053644
v -1.214218 4.054938 -0.985490
v 1.640741 3.914579 -0.161816
v 0.649112 3.035512 0.286420
v 0.072945 3.423833 0.868663
v 0.056214 3.455261 0.879214
v 1.717336 3.732051 1.002470
v 0.218933 2.127969 -0.184134
v 0.859750 1.886378 -0.202642
v 0.310725 3.598094 -0.621776
v 1.783236 3.602001 -0.694293
v 2.999345 3.644363 0.825939
v 0.288570 3.799353 0.823285
v 0.738450 3.167965 0.259321
v 0.731074 3.127176 0.193825
v 0.312620 2.344851 -0.346694
v 0.953246 3.110919 -0.853948
v 0.361371 2.242342 -0.405457
v -0.772707 2.113333 0.356344
v 1.006620 3.146090 -0.876974
v 0.387137 2.197697 -0.309299
v -0.326154 1.506639 0.055829
v -0.461492 1.519848 0.009095
v -0.688948 2.030131 0.479914
v -0.395307 1.509962 -0.110140
v 0.687341 3.036873 0.323746
v 0.649527 2.996213 0.274326
v 0.619437 3.032627 0.334425
v 1.757996 3.728187 1.015779
v 1.711167 3.714467 1.004497
v -0.602713 1.286216 0.063757
v -0.265599 1.247627 -0.026303
v -0.717309 2.127814 0.489531
v 1.672807 3.714789 0.994906
v 1.713793 3.736352 1.002622
v -0.479024 1.252361 -0.112875
v -0.377479 0.016656 -0.013447
v -0.377889 1.253330 0.132585
v 0.263998 2.064221 -0.313150
v -0.811921 2.050022 0.381851
v -0.231146 1.435596 -0.116162
v -0.752185 1.908200 0.453486
v 0.341907 2.294167 -0.248923
v -0.276259 1.472519 -0.048418
v -0.316776 1.470052 0.099880
v -0.645727 2.001021 0.291158
v 0.792132 3.116371 0.283836
v -0.580734 1.987874 0.356898
v 0.681212 3.160355 0.315849
v 0.779915 3.088503 0.226668
v 0.667249 3.112441 0.414642
v 0.546448 3.005913 0.325570
v 0.692510 3.041150 0.191650
v -0.643524 3.957859 0.999362
v -0.755977 2.141233 0.418482
v -0.525380 1.428429 -0.019198
v 0.953855 3.111638 -0.904655
v 0.665441 3.070143 0.403522
v 1.754859 3.748680 0.992931
v 0.987805 3.080999 -0.872926
v 0.960982 3.167397 -0.899294
v 0.934186 3.130737 -0.885825
v 0.057985 3.428150 0.815037
v 0.080670 3.447304 0.847735
v 0.551049 2.945517 0.258086
v 0.573075 2.977148 0.178630
v 0.630293 2.908604 0.157143
v 0.523230 3.061950 0.396754
v 0.505144 3.108976 0.357567
v 0.546919 3.154278 0.382626
v 0.571115 3.114097 0.429023
v 0.067437 3.384796 0.835206
v 0.055471 3.404388 0.812995
v 0.084706 3.426148 0.822284
v 0.095062 3.402303 0.840629
v 0.813003 3.087296 0.393989
v 0.820234 3.128911 0.339578
v 0.808060 3.157268 0.448331
v 1.687968 3.686580 0.982286
v 1.662633 3.720877 0.965511
v 1.684689 3.701513 0.953399
v -0.006606 3.415823 0.858966
v 0.001742 3.434593 0.836322
v -0.002318 3.457694 0.859240
v -0.006466 3.438950 0.879965
v -0.646658 3.553120 0.834713
v -0.639544 3.572230 0.813314
v -0.639938 3.592073 0.833464
v -0.679136 3.595480 0.848307
v -0.653915 3.574869 0.854496
v -0.665529 3.590509 0.817708
v -0.661098 3.948159 1.001516
v -0.626109 3.950984 0.990423
v 0.042642 3.472177 0.859485
v 0.061455 3.464615 0.835295
v 0.299341 3.778434 0.821601
v 0.285499 3.790010 0.844729
v 0.265366 3.801644 0.826850
v 0.279207 3.790067 0.803728
v 1.767261 3.707193 0.996060
v 1.758464 3.728601 0.976047
v 2.989815 3.626806 0.827840
v 2.989589 3.665910 0.827302
v 0.405752 2.179280 -0.302958
v 0.344973 2.260170 -0.226904
v 0.321593 2.336723 -0.323806
v 0.688933 2.334005 -0.242900
v 0.638050 2.406942 -0.171810
v 0.601813 2.466144 -0.257317
v 0.652443 2.391466 -0.328037
v 0.802158 2.486050 -0.327318
v 0.765745 2.561323 -0.272290
v 0.655650 2.505647 -0.269932
v 0.698585 2.433236 -0.334374
v 0.971014 3.102485 -0.850295
v 0.937389 3.094444 -0.863570
v 0.950622 3.066525 -0.881844
v 1.026748 3.130230 -0.893780
v 1.006297 3.169668 -0.900250
v 1.021864 3.150269 -0.918770
v 1.785205 3.579170 -0.694188
v 1.768243 3.596297 -0.676745
v 1.763630 3.614405 -0.699494
v 0.928391 3.156662 -0.910115
v 0.948706 3.153881 -0.873421
v 0.309909 3.592849 -0.641237
v 0.321547 3.587574 -0.606863
v -0.573373 1.489143 0.223233
v -0.627772 1.530048 0.116624
v -0.516342 1.596076 0.087149
v -0.463908 1.550586 0.193427
v -0.639416 1.727485 0.376171
v -0.701520 1.823270 0.308377
v -0.584122 1.815465 0.245890
v -0.535871 1.790634 0.349002
v -0.843467 2.021042 0.492718
v -0.848943 2.101594 0.422760
v -0.783535 2.147214 0.467636
v -0.808090 2.100528 0.544483
v -1.384845 2.579054 0.686131
v -1.409155 2.637512 0.684959
v -1.397190 2.614052 0.668146
v -1.371074 2.624584 0.681271
v -1.389285 2.620508 0.709603
v -1.292196 3.104763 0.480581
v -1.277359 3.091581 0.459069
v -1.253005 3.092565 0.475263
v -1.267810 3.105974 0.496536
v -0.685860 2.124418 0.289037
v -0.610877 2.139576 0.333889
v -0.662952 2.189302 0.405452
v -0.739425 2.162332 0.372593
v -0.748541 2.831901 0.095914
v -0.722699 2.839161 0.109143
v -0.738293 2.855583 0.130188
v -0.763711 2.847875 0.117436
v -0.621881 3.125381 -0.261613
v -0.633809 3.152225 -0.253577
v -1.280882 3.107255 0.462436
v -1.259484 3.102532 0.463949
v -0.105739 1.415428 -0.043960
v -0.194501 1.466095 0.054466
v -0.218596 1.531599 -0.026301
v -0.145951 1.486398 -0.114744
v 0.852287 1.860144 -0.201467
v 0.847949 1.880162 -0.178822
v 0.836570 1.900274 -0.198781
v 0.840909 1.880256 -0.221426
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 0.787401 3.138958 0.279382
v 0.741803 3.182584 0.243831
v 1.646627 3.888036 -0.164380
v 1.641114 3.904208 -0.129890
v 1.618298 3.926469 -0.151781
v 1.622356 3.907187 -0.180607
v -0.645820 3.122652 -0.280486
v -0.631092 3.154446 -0.289089
v -0.660801 3.140155 -0.260462
v -1.194473 4.050856 -0.990188
v -1.227169 4.041689 -0.976550
v -0.324217 1.114270 -0.023942
v -0.285389 1.275739 -0.101468
v -0.524499 1.339323 -0.075197
v -0.418374 1.437070 -0.122024
v 0.373817 2.234098 -0.248040
v -0.281820 1.249053 0.063110
v 0.315105 2.341774 -0.288804
v 0.401753 2.191256 -0.371827
v 0.147514 2.207111 -0.365537
v -0.318113 1.512174 0.072659
v -0.413400 1.495066 0.145741
v -0.182181 1.356551 -0.033551
v -0.589567 1.279795 0.139291
v -0.490632 1.271573 0.173599
v 0.097194 2.243726 -0.282123
v -0.508649 1.525156 0.039130
v 0.340593 2.313002 -0.388945
v 0.346272 2.153620 -0.291183
v 0.260200 2.086008 -0.379562
v 0.121784 2.240388 -0.200598
v 0.255446 2.276027 -0.139246
v 0.207329 2.143035 -0.401959
v 0.307945 2.362441 -0.351078
v -0.320466 1.481724 -0.105524
v -0.274156 1.481049 0.018788
v 0.298258 2.200212 -0.188918
v -0.444932 1.545088 -0.087061
v 0.136551 2.038486 -0.189189
v 0.659597 3.144667 0.388218
v 0.742725 3.126810 0.420735
v -0.395309 1.532904 0.050847
v 0.656430 2.963597 0.182516
v 0.618961 3.135773 0.275879
v 0.757207 3.015934 0.289817
v 0.682153 2.940075 0.235683
v 0.577096 2.998026 0.341987
v 0.010238 3.416136 0.874813
v 0.063060 3.385888 0.815708
v 1.677181 3.691790 0.995004
v 0.987225 3.092636 -0.857304
v -0.595126 1.997734 0.310646
v -0.609645 1.991864 0.417469
v -0.210534 0.096203 -0.061505
v -0.712010 1.938682 0.483013
v -0.432794 0.080066 -0.184991
v -0.777924 1.919802 0.403783
v -0.555384 0.063929 0.037766
v -0.333123 0.080066 0.161251
v -0.729619 2.150780 0.456273
v -0.607447 1.893749 0.279823
v 0.764157 3.157782 0.290989
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v -0.511988 0.255476 0.197445
v -0.603527 0.255476 -0.120548
v -0.286812 0.285117 -0.211719
v -0.195273 0.285117 0.106274
v -0.589055 0.954017 -0.062113
v -0.388235 0.975778 -0.119675
v -0.331531 0.983083 0.081941
v -0.308019 1.498048 -0.160136
v 0.115821 1.995669 -0.378769
v 0.013032 2.012323 -0.167099
v 0.399784 2.363445 -0.173534
v 0.296721 2.363445 -0.099996
v 0.203135 2.392079 -0.217748
v 0.319511 2.392857 -0.298631
v 0.526761 2.936852 0.189505
v 0.504788 3.072176 0.367242
v 0.580476 3.142683 0.406122
v 0.758757 3.078286 0.407526
v 0.744983 3.163396 0.392691
v 0.797040 3.163679 0.333767
v -0.006266 3.420958 0.841556
v 0.001054 3.452328 0.842004
v 0.002498 3.453449 0.875010
v -0.671016 3.569563 0.826922
v -0.642349 3.556805 0.818434
v -0.652774 3.939306 1.010603
v 0.290823 3.780408 0.808491
v 1.758903 3.744772 1.011259
v 2.983455 3.630989 0.813704
v 2.981804 3.661396 0.844165
v 0.380667 2.201927 -0.240820
v 0.318285 2.319857 -0.258634
v 0.752343 2.389757 -0.254109
v 0.671152 2.354350 -0.185370
v 0.707590 2.462406 -0.187056
v 0.608232 2.454575 -0.197319
v 0.615970 2.444236 -0.316105
v 0.657128 2.472926 -0.317969
v 0.973129 3.075293 -0.888723
v 0.933240 3.129581 -0.903801
v 0.953476 3.163098 -0.913596
v 0.958573 3.163957 -0.880572
v 0.313172 3.573353 -0.639876
v 0.341186 3.599627 -0.617830
v -0.503166 1.501175 0.230413
v -0.586612 1.568999 0.072913
v -0.584390 1.789113 0.410704
v -0.648645 1.810005 0.243105
v -0.863857 2.048884 0.440380
v -0.812333 2.134873 0.423665
v -0.768900 2.136057 0.513417
v -1.400554 2.641479 0.698884
v -1.373394 2.624549 0.698873
v -0.736257 2.190326 0.303140
v -0.635721 2.128511 0.292695
v -0.617812 2.152098 0.391123
v -0.712797 2.179493 0.409014
v -0.660076 3.128416 -0.272224
v -1.258978 3.111243 0.484117
v -0.122671 1.432864 -0.099250
v -0.103407 1.433170 0.013700
v -0.225363 1.515565 0.039248
v -0.163724 1.539626 -0.092474
v 0.843546 1.864876 -0.215116
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v -0.475065 0.117822 0.148977
v -0.546486 0.117822 -0.099128
v -0.299378 0.140948 -0.170262
v -0.227957 0.140948 0.077843
v -0.670081 3.574807 0.854021
v -0.661837 3.950021 0.985543
v -0.641979 3.957189 0.978806
v -0.631950 3.942864 1.009024
v 0.295108 3.780403 0.836741
v 0.271733 3.796883 0.839516
v 0.268645 3.796935 0.812548
v 2.987921 3.631713 0.842089
v 2.992967 3.645256 0.847836
v 2.988285 3.652175 0.809619
v 0.748057 2.406731 -0.315899
v 0.745705 2.417769 -0.201441
v 1.775124 3.583854 -0.681537
v 1.762872 3.607698 -0.685612
v 1.776433 3.603566 -0.714382
v 0.307516 3.575479 -0.620836
v 0.324325 3.602764 -0.644628
v 0.328601 3.610366 -0.629021
v -1.402188 2.613154 0.700925
v -1.402544 2.599326 0.675364
v -1.291096 3.096713 0.466364
v -1.261830 3.087601 0.462394
v -1.254694 3.097914 0.490728
v -1.280382 3.115981 0.482589
v 0.846089 1.862025 -0.183664
v 0.834056 1.892720 -0.181679
v 0.828697 1.892727 -0.214270
v 1.721151 3.733341 1.003889
v 1.718388 3.731451 1.002828
v 1.718388 3.731451 1.002828
v 1.718388 3.731451 1.002828
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 1.717336 3.732051 1.002470
v 0.649487 3.037319 0.285413
v 0.649487 3.037319 0.285413
v 0.649487 3.037319 0.285413
v 1.646731 3.886707 -0.142471
v 1.623723 3.918013 -0.132058
v 1.607164 3.918036 -0.168714
v -1.209910 4.036882 -0.995697
v -1.198811 4.061632 -0.972538
v -1.216283 4.053801 -0.961488
v -0.530799 0.951897 0.140441
v -0.540022 1.121353 0.146590
v -0.584129 1.176293 -0.052704
v -0.379681 1.136274 -0.118019
v -0.331357 1.112455 0.074976
v -0.368207 1.316669 -0.136638
v -0.415041 1.536109 0.075071
v -0.463227 1.503412 -0.085222
v -0.278689 1.453343 -0.010964
v -0.380167 1.543182 0.041001
v 0.153987 1.969383 -0.234212
v 0.081701 2.110379 -0.181186
v 0.010088 2.096684 -0.323124
v 0.384081 2.287134 -0.223695
v 0.636492 2.876729 0.191100
v 0.587602 2.921182 0.272625
v 0.539813 2.994187 0.237782
v 0.615281 2.969688 0.163554
v 0.574102 3.061045 0.412256
v 0.537204 3.131500 0.332422
v 0.078294 3.391727 0.848262
v 0.503730 3.153222 0.376151
v 0.096980 3.417490 0.831007
v 0.814529 3.082293 0.343220
v 1.693654 3.690551 0.966198
v 1.663636 3.721152 0.986071
v 1.675465 3.716616 0.953961
v -0.643625 3.556772 0.849714
v -0.678665 3.601659 0.832953
v -0.649378 3.590244 0.818161
v -0.640329 3.587877 0.849761
v 0.077296 3.458363 0.839330
v 0.077713 3.451616 0.871082
v 0.056209 3.475736 0.874466
v 0.048929 3.472075 0.843706
v 1.764387 3.712473 0.980654
v 1.760209 3.713055 1.012817
v 1.761445 3.744612 0.980497
v 0.370780 2.169010 -0.370429
v 0.295207 2.126189 -0.236374
v 0.293150 2.297083 -0.394760
v 0.684510 2.346413 -0.302903
v 0.806378 2.527276 -0.289719
v 0.685784 2.516394 -0.217731
v 0.714194 2.599437 -0.436282
v 0.935527 3.079308 -0.875457
v 1.020857 3.132451 -0.911676
v 1.776633 3.577711 -0.712253
v 1.024692 3.139184 -0.880187
v 1.001534 3.161572 -0.886213
v 1.018626 3.166965 -0.914216
v 0.938356 3.141101 -0.874642
v -0.465621 1.418358 0.192541
v -0.612023 1.415442 0.149972
v -0.629113 1.500930 0.180241
v -0.464194 1.590546 0.134415
v -0.698728 1.777344 0.358226
v -0.670333 1.881793 0.276906
v -0.546820 1.850942 0.307793
v -0.817327 2.037829 0.531919
v -1.375087 2.582843 0.700749
v -1.284102 3.107074 0.494716
v -1.407800 2.633735 0.669497
v -1.379582 2.620404 0.667270
v -0.745147 2.120061 0.319639
v -0.762593 2.838375 0.103559
v -0.731731 2.831980 0.096826
v -0.724331 2.849585 0.122942
v -0.754864 2.856952 0.128549
v -0.199755 1.377369 -0.095381
v -0.196066 1.379875 0.048608
v -0.260259 1.513966 -0.099602
v 0.756061 3.087153 0.199722
v 0.792299 3.101832 0.262084
v 0.716217 3.158014 0.214497
v 0.761300 3.170415 0.275866
v -0.628621 3.124345 -0.282089
v -0.620189 3.147491 -0.262630
v -0.651178 3.150784 -0.252179
v 1.711916 3.731156 1.001490
v 1.713494 3.727328 1.002496
v 1.721495 3.729315 1.004200
v -0.339151 1.460422 -0.131614
v 1.628217 3.883196 -0.180346
vn 0.2661 -0.6199 0.7382
vn 0.6327 -0.6155 0.4700
vn -0.7045 0.4407 0.5562
vn -0.6185 -0.1629 0.7687
vn -0.4680 0.5272 -0.7093
vn -0.0835 0.0857 -0.9928
vn -0.6976 0.3114 0.6453
vn 0.3472 -0.3676 -0.8628
vn -0.8769 0.1913 0.4409
vn -0.8611 0.2939 0.4149
vn 0.1679 -0.6067 0.7770
vn -0.5760 0.2221 -0.7867
vn -0.2511 -0.1164 -0.9609
vn -0.6597 0.2393 -0.7125
vn -0.8115 0.5837 0.0275
vn -0.4642 0.6540 0.5974
vn 0.5903 -0.3308 0.7363
vn -0.5045 0.3199 -0.8020
vn -0.0965 -0.8436 0.5282
vn -0.2792 -0.9072 0.3146
vn -0.7216 0.3836 -0.5764
vn -0.6326 0.1877 -0.7514
vn -0.4321 0.6476 0.6276
vn -0.7575 0.6516 0.0406
vn 0.3143 -0.7248 -0.6131
vn 0.2659 -0.8056 0.5294
vn 0.6339 -0.7530 0.1763
vn -0.0560 0.0783 0.9954
vn 0.6153 0.1283 0.7778
vn -0.0494 0.0802 0.9956
vn -0.5101 -0.8223 -0.2524
vn 0.0560 0.8582 -0.5102
vn -0.3118 0.2789 -0.9083
vn 0.9287 0.1075 0.3549
vn 0.7002 -0.1803 0.6908
vn 0.0584 -0.1790 0.9821
vn 0.0000 0.0000 1.0000
vn 0.3725 -0.3522 0.8586
vn 0.4862 -0.4857 0.7264
vn 0.2246 0.8925 -0.3912
vn 0.2254 0.8920 -0.3918
vn 0.5537 0.8235 -0.1234
vn 0.9460 0.0802 -0.3141
vn 0.8358 0.4021 -0.3739
vn -0.8156 0.4984 0.2939
vn -0.1823 -0.2538 -0.9499
vn 0.0390 0.2383 -0.9704
vn 0.5760 -0.7884 0.2159
vn -0.6858 -0.7227 -0.0859
vn -0.0736 0.9791 -0.1895
vn -0.6251 -0.4047 -0.6674
vn -0.3791 -0.3958 -0.8364
vn -0.3518 0.1135 -0.9292
vn -0.5390 -0.8349 0.1116
vn -0.6769 -0.2230 0.7015
vn -0.2520 -0.6438 0.7225
vn 0.4011 -0.3502 0.8464
vn -0.2291 0.2676 0.9359
vn -0.9922 -0.0444 -0.1164
vn 0.5775 0.4345 0.6911
vn -0.2427 -0.0420 0.9692
vn -0.5389 0.0814 -0.8384
vn 0.5550 -0.2768 0.7845
vn 0.2839 -0.1829 -0.9412
vn 0.0824 0.0762 -0.9937
vn -0.4930 0.5539 -0.6709
vn -0.5323 0.5490 -0.6444
vn -0.7683 0.3533 -0.5338
vn 0.3453 -0.0698 0.9359
vn -0.4435 -0.1594 -0.8820
vn 0.9766 0.1820 -0.1142
vn 0.9504 -0.1166 -0.2885
vn 0.8256 -0.4946 -0.2716
vn 0.6737 -0.4183 0.6092
vn 0.7421 -0.5084 0.4369
vn -0.9779 -0.1846 0.0986
vn -0.5493 0.2663 -0.7920
vn 0.5229 0.7088 0.4736
vn -0.8674 0.2586 -0.4251
vn -0.2682 -0.2640 -0.9265
vn -0.4600 0.2682 0.8464
vn -0.2676 -0.9132 0.3074
vn 0.0113 0.5151 0.8570
vn 0.2502 -0.1799 -0.9513
vn 0.4197 -0.5229 -0.7419
vn 0.0793 0.9786 0.1900
vn -0.0333 0.8706 0.4908
vn -0.2910 0.8978 0.3305
vn -0.7120 0.3204 0.6249
vn -0.2679 0.4873 -0.8312
vn 0.2209 0.7669 -0.6025
vn -0.9101 0.3015 0.2842
vn -0.5141 -0.2899 0.8073
vn 0.4343 0.1989 -0.8785
vn 0.4027 0.9063 -0.1279
vn -0.7691 -0.3897 -0.5065
vn 0.5471 0.8350 0.0589
vn -0.6273 0.2476 0.7384
vn -0.5282 0.5369 0.6579
vn -0.2344 -0.3267 0.9156
vn -0.6093 0.1905 0.7697
vn -0.4903 -0.0895 0.8670
vn -0.1907 -0.9405 -0.2811
vn 0.1931 0.9607 0.1996
vn -0.1926 -0.9448 -0.2649
vn 0.1901 0.9496 0.2491
vn -0.4617 -0.8310 -0.3103
vn -0.9710 -0.2099 -0.1143
vn 0.5266 -0.4067 -0.7465
vn 0.3313 -0.1307 0.9344
vn -0.1802 0.2221 0.9582
vn -0.6918 0.5176 0.5035
vn -0.4512 0.2180 -0.8654
vn -0.5099 0.2664 -0.8180
vn 0.1212 -0.1735 0.9773
vn 0.0238 0.9538 -0.2995
vn 0.3725 -0.2867 -0.8827
vn 0.3636 -0.2429 -0.8993
vn 0.1055 0.2881 -0.9518
vn 0.2369 0.5505 0.8005
vn -0.5889 -0.3816 -0.7125
vn 0.3106 -0.7715 0.5552
vn 0.0043 -0.4125 0.9109
vn -0.5400 0.7953 0.2754
vn 0.4284 -0.3550 -0.8309
vn -0.5405 0.7687 0.3419
vn 0.9040 -0.0281 -0.4267
vn 0.3029 -0.0759 -0.9500
vn -0.1879 -0.6845 0.7044
vn -0.1602 -0.6610 0.7331
vn -0.3137 0.1346 -0.9399
vn 0.2162 -0.2649 0.9397
vn -0.7958 0.1991 -0.5719
vn -0.0464 0.5566 -0.8295
vn -0.7314 0.2347 -0.6402
vn -0.8584 0.0859 0.5057
vn -0.9737 0.1865 -0.1308
vn -0.5256 -0.2271 -0.8199
vn 0.1071 -0.4212 -0.9006
vn 0.8355 -0.3839 -0.3931
vn -0.0834 0.4176 0.9048
vn 0.5107 0.2351 0.8270
vn -0.0731 0.4161 0.9064
vn -0.4446 -0.1510 -0.8829
vn -0.5799 -0.5605 -0.5912
vn 0.7807 -0.5791 -0.2348
vn 0.9769 -0.0983 0.1898
vn -0.8131 0.5463 0.2011
vn -0.9776 0.1285 -0.1668
vn 0.5576 0.5764 0.5974
vn 0.0047 0.7906 0.6124
vn -0.5726 -0.5660 -0.5931
vn 0.3387 -0.8626 -0.3757
vn 0.1504 0.1582 -0.9759
vn 0.2386 -0.1992 -0.9505
vn 0.2607 -0.2003 -0.9444
vn 0.3180 0.0969 -0.9431
vn 0.6024 -0.2704 0.7510
vn 0.5289 -0.7590 -0.3797
vn -0.3192 -0.0882 -0.9436
vn 0.9126 -0.0882 -0.3992
vn -0.8973 -0.3389 0.2829
vn 0.4964 -0.7097 0.5000
vn -0.3315 -0.0603 0.9415
vn -0.0265 -0.1235 0.9920
vn -0.6065 0.5256 -0.5966
vn 0.8963 -0.1425 -0.4198
vn 0.9384 0.2907 -0.1871
vn 0.7640 0.4292 -0.4817
vn -0.3546 0.2587 -0.8985
vn -0.6179 0.6397 -0.4572
vn 0.0517 0.5120 -0.8575
vn 0.6570 0.2366 -0.7158
vn 0.9222 -0.1834 -0.3405
vn -0.6056 0.6749 -0.4216
vn 0.9184 0.0673 -0.3899
vn -0.1456 0.6620 -0.7352
vn -0.8351 0.4785 0.2715
vn 0.1459 -0.2415 -0.9594
vn -0.8659 0.4970 0.0571
vn -0.5469 -0.1141 0.8294
vn -0.0818 0.0920 -0.9924
vn -0.6211 -0.1849 0.7616
vn -0.6203 0.5189 0.5882
vn 0.6860 -0.6043 0.4053
vn 0.3511 -0.5165 0.7810
vn 0.6267 -0.5140 0.5857
vn -0.2088 -0.2388 -0.9483
vn 0.1716 0.0213 0.9849
vn -0.7449 0.6590 0.1039
vn 0.2350 0.2228 0.9461
vn 0.6442 -0.2117 0.7350
vn 0.7619 -0.6474 -0.0200
vn 0.4947 -0.6664 -0.5577
vn -0.3221 0.2224 -0.9202
vn -0.0259 0.7811 -0.6239
vn -0.1797 -0.0431 -0.9828
vn -0.6152 0.6432 -0.4559
vn -0.1161 0.9916 0.0572
vn -0.3891 0.5712 -0.7228
vn -0.3773 -0.9255 0.0329
vn -0.9714 -0.0515 -0.2318
vn 0.8566 -0.0403 -0.5144
vn -0.2289 0.9682 -0.1014
vn 0.0998 0.9948 -0.0213
vn -0.2971 -0.1804 -0.9377
vn -0.3046 -0.4024 -0.8633
vn 0.7169 -0.6914 0.0897
vn 0.5458 0.0443 0.8367
vn 0.0893 -0.0313 0.9955
vn 0.9972 -0.0218 0.0716
vn -0.5313 0.0661 -0.8446
vn -0.0078 0.0107 -0.9999
vn -0.0235 -0.3376 0.9410
vn -0.8754 -0.0650 0.4790
vn -0.9983 0.0244 -0.0530
vn 0.5524 0.1365 0.8223
vn 0.6677 -0.1564 0.7278
vn -0.4374 -0.0867 -0.8951
vn 0.8063 0.1929 -0.5592
vn -0.3399 0.1161 -0.9333
vn 0.9802 0.1926 0.0466
vn 0.9733 -0.2271 0.0328
vn 0.7478 -0.1076 -0.6551
vn -0.5711 0.0802 -0.8169
vn 0.0301 0.1365 -0.9902
vn 0.0649 -0.2810 -0.9575
vn -0.6337 -0.2249 -0.7402
vn -0.8250 0.0239 0.5646
vn -0.9985 0.0222 -0.0504
vn -0.9201 -0.3887 -0.0481
vn -0.7155 -0.2664 0.6458
vn -0.7247 0.6884 -0.0297
vn 0.1920 0.8347 -0.5162
vn -0.1116 0.4687 -0.8763
vn -0.6965 0.2199 -0.6830
vn 0.5288 0.8230 0.2074
vn 0.9636 0.2573 0.0723
vn 0.6263 0.1447 -0.7660
vn -0.0836 0.2251 0.9708
vn 0.5685 -0.3717 0.7339
vn 0.1459 -0.5131 0.8458
vn 0.3299 -0.1379 0.9339
vn 0.1253 -0.2551 0.9587
vn 0.0593 -0.3030 0.9512
vn 0.5003 -0.4403 0.7455
vn 0.4089 0.7212 -0.5592
vn 0.5675 0.7191 0.4010
vn 0.9218 -0.1854 0.3405
vn 0.7750 -0.2465 -0.5818
vn -0.6092 0.7658 -0.2060
vn -0.2211 0.7141 0.6642
vn 0.4050 0.8144 0.4156
vn -0.9901 0.1407 0.0036
vn -0.7548 0.1338 0.6421
vn 0.7285 0.1450 0.6695
vn 0.8600 -0.4342 0.2682
vn 0.8893 0.3873 0.2432
vn 0.7514 -0.4592 -0.4739
vn 0.1561 0.8612 -0.4836
vn 0.1377 0.9479 0.2871
vn 0.7908 0.5115 0.3361
vn 0.7824 0.4385 -0.4423
vn -0.5055 0.6128 0.6074
vn 0.7858 0.0736 -0.6141
vn 0.9820 -0.1137 -0.1506
vn 0.5092 -0.7551 -0.4130
vn 0.9406 0.3141 0.1290
vn -0.1646 0.7322 -0.6609
vn 0.7242 0.6884 -0.0394
vn -0.7478 -0.0103 -0.6638
vn 0.2086 0.4219 0.8823
vn -0.4876 0.3171 0.8134
vn -0.0245 0.2587 -0.9657
vn 0.2420 -0.3928 -0.8872
vn -0.5618 0.6326 -0.5331
vn -0.7929 0.2713 -0.5456
vn -0.6994 -0.7144 -0.0219
vn 0.2608 0.2486 0.9328
vn -0.2541 0.7331 -0.6309
vn -0.8538 0.3444 -0.3903
vn 0.0345 0.7288 -0.6839
vn 0.5695 0.8203 -0.0527
vn 0.2408 0.9682 0.0680
vn 0.4244 0.0341 0.9048
vn -0.3767 0.8671 0.3259
vn -0.9152 0.3995 -0.0528
vn -0.0996 -0.4433 -0.8908
vn 0.3530 -0.2336 0.9060
vn 0.5251 0.0370 0.8502
vn 0.6817 0.1270 0.7206
vn -0.6268 -0.7679 0.1321
vn 0.5854 -0.4977 0.6400
vn -0.0766 -0.0400 0.9963
vn -0.4484 -0.5882 0.6730
vn 0.4005 -0.3502 0.8468
vn -0.1694 -0.2131 0.9622
vn 0.8451 -0.1491 0.5134
vn 0.5833 -0.5922 0.5560
vn -0.3303 -0.4602 0.8241
vn -0.9727 -0.1732 0.1546
vn -0.2888 0.2196 0.9319
vn -0.9747 0.0624 -0.2145
vn -0.9468 -0.2896 0.1402
vn 0.7134 -0.5773 -0.3972
vn 0.7687 -0.5693 0.2915
vn 0.9400 -0.3355 0.0617
vn 0.7698 -0.3478 -0.5352
vn -0.1365 0.8674 0.4784
vn -0.5015 0.1350 -0.8546
vn 0.3390 0.8281 0.4464
vn -0.2366 0.1911 0.9526
vn -0.4035 0.4907 0.7723
vn -0.0891 -0.1812 0.9794
vn -0.2235 0.0251 -0.9744
vn -0.1578 -0.0914 -0.9832
vn -0.2681 -0.8818 0.3881
vn -0.3356 -0.8689 -0.3639
vn 0.4137 -0.8025 -0.4300
vn 0.4812 -0.8153 0.3220
vn 0.5647 -0.1457 0.8124
vn 0.4612 -0.0760 0.8840
vn 0.0524 -0.1934 0.9797
vn 0.7248 -0.6496 0.2297
vn 0.5385 -0.6450 -0.5422
vn 0.5985 -0.8006 0.0296
vn -0.6429 -0.0650 -0.7632
vn 0.6707 -0.6863 0.2813
vn -0.7122 -0.2934 -0.6377
vn -0.8702 -0.3857 -0.3066
vn 0.3382 -0.1179 -0.9336
vn -0.4038 -0.7122 0.5742
vn 0.1504 0.2576 -0.9545
vn -0.8288 -0.5590 0.0255
vn -0.7953 -0.5339 0.2872
vn -0.1822 -0.5496 0.8153
vn 0.4610 -0.2691 -0.8456
vn -0.7235 -0.2942 -0.6244
vn -0.2600 -0.5413 -0.7996
vn 0.5767 -0.2020 -0.7916
vn -0.7376 0.6187 0.2704
vn -0.7484 -0.1381 0.6487
vn -0.9226 0.3644 0.1267
vn -0.6081 0.7833 0.1288
vn 0.3227 0.4564 0.8292
vn -0.2520 0.3762 -0.8916
vn 0.2209 0.8456 0.4860
vn 0.4825 0.1558 0.8619
vn 0.0245 0.1137 -0.9932
vn 0.0723 0.0064 -0.9974
vn 0.5170 0.1864 -0.8354
vn 0.6893 0.6148 0.3833
vn 0.9921 0.0679 0.1054
vn 0.6369 0.5274 -0.5623
vn 0.7752 0.1518 0.6133
vn 0.9738 0.2190 0.0618
vn 0.8202 0.1801 -0.5430
vn 0.0606 0.9268 0.3707
vn -0.2879 0.8918 -0.3489
vn -0.2192 0.9650 0.1437
vn -0.2948 0.9475 -0.1237
vn 0.7783 -0.4878 -0.3955
vn 0.7430 -0.4494 0.4960
vn 0.1173 -0.2572 0.9592
vn 0.3401 -0.3734 0.8631
vn 0.7505 -0.6525 0.1054
vn -0.0262 -0.2706 0.9623
vn -0.1736 0.6059 0.7764
vn 0.1526 0.6481 0.7462
vn -0.6034 -0.5782 0.5492
vn -0.2104 -0.7322 0.6477
vn -0.7422 -0.6226 0.2481
vn 0.7955 -0.3087 -0.5214
vn 0.1587 -0.0462 -0.9862
vn 0.4070 -0.0822 -0.9097
vn -0.3561 0.9327 -0.0572
vn 0.3659 0.9306 -0.0029
vn -0.2276 0.5851 0.7784
vn -0.6143 0.7522 0.2384
vn -0.6877 0.6018 -0.4061
vn -0.1379 0.9169 -0.3745
vn -0.0134 0.9705 0.2408
vn -0.0299 0.9752 -0.2193
vn -0.8035 0.5887 -0.0878
vn -0.5975 0.2409 -0.7648
vn -0.0922 -0.1711 -0.9809
vn 0.0248 -0.3903 -0.9204
vn -0.2905 0.9569 0.0014
vn 0.1289 -0.9050 0.4055
vn 0.4162 -0.8861 0.2040
vn 0.0627 -0.9149 0.3988
vn -0.1747 0.9047 -0.3886
vn -0.2237 0.9420 0.2502
vn 0.0279 0.4462 0.8945
vn 0.6792 -0.6670 -0.3063
vn 0.4680 0.1506 0.8708
vn 0.7982 -0.4405 0.4109
vn 0.1248 -0.8765 0.4649
vn 0.3163 -0.9410 -0.1205
vn 0.2294 0.1757 -0.9573
vn -0.0598 0.9689 -0.2403
vn -0.3721 0.9153 -0.1541
vn -0.3791 0.9168 0.1255
vn -0.9888 0.0043 0.1493
vn -0.8843 -0.1285 0.4489
vn 0.8829 0.4689 0.0252
vn 0.3767 0.4222 -0.8245
vn -0.1809 0.5111 -0.8403
vn 0.8488 -0.1305 -0.5124
vn 0.8279 -0.2401 -0.5068
vn -0.9371 -0.0740 0.3412
vn -0.6270 0.5803 -0.5197
vn -0.1600 -0.8656 0.4745
vn -0.5297 -0.8451 0.0716
vn 0.7182 0.2764 0.6386
vn -0.7568 -0.1594 -0.6339
vn -0.7017 0.2567 -0.6646
vn 0.0407 0.9069 -0.4193
vn 0.5333 -0.2660 0.8030
vn -0.5734 0.3016 -0.7618
vn 0.1736 0.9042 -0.3901
vn 0.5176 -0.8498 0.0993
vn 0.2154 -0.8259 0.5210
vn -0.5257 0.8506 0.0143
vn -0.4438 -0.1768 0.8785
vn -0.1747 0.8448 -0.5058
vn 0.4877 0.1827 -0.8537
vn 0.6687 -0.2645 -0.6949
vn -0.0316 -0.3097 -0.9503
vn -0.2129 -0.9459 0.2448
vn 0.1002 0.3092 -0.9457
vn 0.0271 0.3082 0.9509
vn 0.2095 0.9445 -0.2530
vn -0.0983 -0.2871 0.9528
vn -0.5038 -0.8104 0.2991
vn -0.2117 -0.9389 0.2714
vn 0.2094 0.9473 -0.2425
vn -0.3579 -0.2958 -0.8857
vn -0.9986 0.0524 -0.0095
vn 0.0315 0.2757 -0.9607
vn -0.0273 -0.2698 0.9625
vn -0.9213 -0.3747 0.1043
vn -0.7802 -0.0691 -0.6217
vn -0.8073 -0.2002 0.5552
vn -0.4175 0.3814 -0.8247
vn 0.0323 0.4003 -0.9158
vn 0.9607 -0.1321 0.2440
vn 0.8192 0.2160 -0.5312
vn -0.0255 -0.3936 0.9189
vn 0.1479 0.2525 0.9562
vn 0.5849 -0.3435 0.7348
vn 0.8245 -0.5285 0.2020
vn -0.7989 0.5082 -0.3216
vn 0.1652 -0.2041 -0.9649
vn 0.8114 -0.5059 0.2926
vn 0.6868 -0.5054 -0.5224
vn -0.2283 0.2554 0.9395
vn 0.4779 -0.2274 0.8485
vn -0.7920 0.5024 -0.3470
vn -0.6754 0.5111 0.5316
vn 0.2029 -0.2258 -0.9528
vn 0.1040 0.9477 0.3017
vn -0.0177 -0.9461 0.3235
vn -0.1050 -0.9466 -0.3048
vn -0.1466 -0.3211 -0.9356
vn 0.0977 -0.4193 0.9026
vn 0.6751 0.5727 0.4650
vn -0.0257 0.7904 -0.6120
vn 0.5062 -0.8442 -0.1762
vn -0.1111 0.2853 -0.9520
vn 0.3618 -0.8381 0.4082
vn -0.0402 -0.2731 0.9611
vn -0.3142 0.2878 0.9047
vn -0.4486 0.8674 0.2152
vn -0.3058 0.8657 -0.3963
vn 0.6408 -0.7278 -0.2444
vn 0.1285 0.2613 -0.9567
vn 0.6380 -0.6425 0.4244
vn 0.2718 -0.0771 0.9593
vn -0.1268 0.4508 0.8836
vn -0.5852 0.7918 0.1748
vn -0.5918 0.6576 -0.4662
vn -0.1345 0.1292 -0.9825
vn 0.1519 -0.3585 -0.9211
vn 0.9179 -0.2907 0.2703
vn 0.6018 0.2719 0.7509
vn 0.7929 -0.5713 -0.2119
vn 0.9735 -0.2004 0.1105
vn -0.9495 0.2450 -0.1961
vn -0.6234 -0.3654 -0.6913
vn -0.0567 -0.6399 -0.7663
vn 0.7453 -0.5604 -0.3612
vn 0.0756 0.7125 0.6976
vn 0.5771 0.4793 0.6613
vn -0.9456 0.2710 -0.1800
vn -0.7654 0.5982 0.2372
vn 0.5365 -0.8227 -0.1881
vn 0.0244 -0.6552 -0.7551
vn -0.6076 -0.3652 -0.7053
vn -0.6014 -0.7938 -0.0900
vn -0.4284 0.3551 0.8309
vn -0.3521 0.8107 -0.4677
vn 0.3179 -0.7783 0.5415
vn -0.4484 0.4075 0.7955
vn -0.0255 -0.3715 0.9281
vn -0.2165 0.6913 -0.6894
vn 0.0916 0.2786 -0.9560
vn 0.3785 0.8127 -0.4430
vn -0.5393 -0.2816 -0.7936
vn -0.2028 0.2833 -0.9374
vn 0.5975 0.7965 0.0925
vn -0.6152 -0.3696 0.6963
vn 0.4750 0.1502 0.8671
vn -0.9487 -0.1770 -0.2620
vn -0.4763 -0.1403 -0.8680
vn -0.0336 0.7020 0.7114
vn 0.4422 0.0911 0.8923
vn 0.0029 -0.4148 0.9099
vn -0.0143 0.5832 -0.8122
vn -0.9821 -0.1627 -0.0951
vn 0.2383 0.5621 -0.7920
vn 0.5764 0.5884 -0.5671
vn 0.6852 -0.0223 0.7280
vn 0.8400 0.4774 0.2578
vn -0.5806 -0.5475 0.6026
vn 0.0477 -0.5204 0.8526
vn -0.9783 -0.1800 -0.1030
vn -0.7685 0.0674 -0.6363
vn -0.0370 0.4165 -0.9084
vn 0.7768 -0.1616 0.6087
vn 0.6187 0.4603 -0.6366
vn 0.5026 0.5839 -0.6375
vn 0.9655 0.2417 0.0972
vn -0.5118 -0.6845 0.5191
vn -0.7293 -0.6794 -0.0803
vn -0.5116 -0.1387 -0.8480
vn -0.1517 0.2901 -0.9449
vn 0.4326 0.7537 -0.4948
vn 0.6420 0.7618 0.0862
vn 0.4582 0.2423 0.8552
vn 0.1087 -0.1885 0.9760
vn -0.9869 -0.1359 0.0873
vn -0.6178 -0.5556 0.5564
vn -0.7918 -0.5325 0.2991
vn -0.3804 -0.3451 0.8580
vn -0.8263 0.3862 0.4100
vn -0.5135 -0.2199 -0.8294
vn -0.5912 0.0918 0.8013
vn 0.9711 -0.1721 0.1656
vn -0.5523 -0.2658 -0.7901
vn 0.5005 0.2402 0.8317
vn -0.9705 0.1695 -0.1712
vn 0.0864 -0.4183 -0.9042
vn -0.5219 -0.2290 -0.8217
vn 0.8229 -0.3890 -0.4142
vn 0.0535 -0.2585 -0.9645
vn 0.8590 -0.0251 -0.5113
vn 0.9884 0.1518 0.0022
vn 0.5451 0.3721 0.7512
vn -0.0601 0.3786 0.9236
vn -0.8332 0.1666 0.5273
vn -0.9976 -0.0539 -0.0435
vn 0.7313 -0.5676 0.3780
vn -0.9919 0.1269 0.0059
vn 0.0365 -0.7957 -0.6046
vn 0.0217 -0.7944 -0.6070
vn 0.7856 -0.5745 -0.2295
vn -0.9773 0.1166 -0.1766
vn 0.9748 -0.0647 0.2133
vn 0.5852 0.5575 0.5888
vn -0.0169 0.7938 0.6080
vn -0.8012 0.5591 0.2133
vn 0.6853 -0.6712 -0.2827
vn -0.2251 -0.0659 0.9721
vn 0.4396 -0.0931 0.8933
vn -0.9523 -0.3052 0.0016
vn -0.8356 0.0746 0.5442
vn 0.0113 -0.8076 -0.5896
vn -0.5891 -0.5029 -0.6324
vn 0.4411 -0.8635 0.2448
vn 0.5593 -0.7678 0.3125
vn 0.5238 -0.7511 -0.4018
vn 0.3131 -0.2748 0.9091
vn 0.0877 0.3122 0.9460
vn -0.2916 0.9356 0.1988
vn 0.3865 -0.0695 0.9197
vn -0.3518 0.8994 -0.2594
vn -0.2242 0.3115 -0.9234
vn -0.2496 0.9641 -0.0900
vn 0.1421 -0.2639 -0.9540
vn 0.0061 -0.2756 -0.9613
vn -0.0878 0.1746 -0.9807
vn 0.6849 -0.7278 0.0344
vn 0.3088 -0.8199 -0.4820
vn 0.0547 -0.3709 -0.9270
vn 0.2624 0.2489 -0.9323
vn 0.1856 -0.0486 -0.9814
vn 0.2270 -0.1897 -0.9552
vn 0.2949 -0.1482 -0.9440
vn 0.2043 0.2746 0.9396
vn -0.6607 0.7489 -0.0510
vn 0.1498 0.3348 0.9303
vn 0.6257 -0.3129 0.7146
vn -0.3998 0.7493 0.5280
vn -0.5593 0.2585 -0.7876
vn -0.5488 -0.6982 -0.4597
vn 0.9498 0.0052 -0.3129
vn -0.0119 -0.6207 -0.7840
vn 0.8945 0.3517 -0.2761
vn 0.6996 -0.1069 -0.7065
vn 0.0111 0.6244 0.7811
vn -0.7111 0.1015 0.6958
vn 0.5474 0.7012 0.4568
vn -0.4217 0.0209 0.9065
vn -0.3353 -0.2734 0.9015
vn -0.5762 0.5614 -0.5940
vn -0.1862 0.2152 -0.9587
vn 0.7339 0.1443 -0.6637
vn 0.9152 -0.1635 -0.3684
vn -0.6578 0.6562 -0.3699
vn -0.1581 0.6655 -0.7294
vn -0.8079 0.5262 0.2652
vn 0.1383 -0.2483 -0.9588
vn -0.5557 -0.0855 0.8270
vn -0.5603 0.5411 0.6271
vn 0.1524 0.1100 0.9822
vn 0.2427 0.2175 0.9454
vn 0.6074 -0.1739 0.7751
vn 0.7561 -0.6533 -0.0378
vn 0.4733 -0.6552 -0.5888
vn -0.3246 0.2199 -0.9199
vn -0.0718 0.8696 -0.4885
vn -0.1029 0.9943 0.0297
vn 0.8319 -0.0010 -0.5549
vn 0.9991 0.0010 0.0434
vn -0.5565 0.0474 -0.8295
vn -0.0227 0.0249 -0.9994
vn -0.1450 -0.2324 0.9617
vn 0.5738 -0.2817 0.7690
vn -0.4666 -0.3127 -0.8273
vn 0.8068 0.1932 -0.5583
vn 0.9802 0.1929 0.0450
vn 0.9817 -0.1076 0.1573
vn 0.8069 -0.2271 -0.5452
vn -0.5698 0.0806 -0.8178
vn 0.0306 0.1365 -0.9902
vn 0.1755 -0.1492 -0.9731
vn -0.5108 -0.3349 -0.7918
vn -0.8222 0.0231 0.5687
vn -0.9989 0.0240 -0.0396
vn -0.9493 -0.2664 -0.1666
vn -0.7537 -0.3887 0.5299
vn -0.4045 0.9145 0.0085
vn 0.1948 0.8209 -0.5369
vn 0.5839 0.7741 0.2446
vn 0.9764 0.2157 0.0085
vn 0.6544 0.2151 -0.7249
vn -0.0849 0.3688 0.9256
vn 0.0324 -0.0861 0.9958
vn 0.4099 -0.4231 0.8081
vn 0.3435 0.7353 -0.5842
vn 0.5137 0.7331 0.4458
vn 0.8937 -0.2372 0.3809
vn 0.7222 -0.1529 -0.6746
vn -0.5862 0.7881 -0.1878
vn 0.4416 0.6711 0.5955
vn 0.7928 0.0712 0.6054
vn 0.8592 -0.4377 0.2649
vn 0.7240 -0.2861 -0.6276
vn 0.0475 0.9519 -0.3026
vn 0.2747 0.8665 0.4169
vn 0.8792 0.4375 0.1889
vn 0.6542 0.5123 -0.5564
vn -0.4716 0.6900 0.5491
vn 0.9678 0.2502 -0.0282
vn 0.6542 0.7563 0.0121
vn 0.8753 0.1156 -0.4695
vn -0.6625 0.1120 -0.7407
vn -0.9714 -0.2243 -0.0779
vn 0.1746 0.9076 -0.3819
vn 0.3032 0.9282 -0.2156
vn 0.1527 0.5570 0.8163
vn 0.3466 0.8293 -0.4384
vn 0.5343 0.1396 0.8337
vn 0.3715 -0.0623 0.9263
vn 0.5784 -0.1185 0.8071
vn 0.6562 0.1549 0.7385
vn -0.2834 -0.6334 0.7201
vn 0.5615 -0.5525 0.6159
vn -0.1696 -0.1534 0.9735
vn -0.9909 -0.1165 0.0676
vn -0.7544 0.0641 -0.6533
vn -0.8702 -0.0873 0.4848
vn 0.7137 -0.5734 -0.4023
vn 0.8336 -0.5287 0.1597
vn 0.9032 -0.3940 0.1701
vn 0.7843 -0.4843 -0.3876
vn -0.0327 0.8167 0.5761
vn -0.4899 0.1181 -0.8638
vn -0.0908 -0.8689 0.4866
vn -0.4334 -0.8818 -0.1862
vn 0.2364 -0.8153 -0.5285
vn 0.5790 -0.8025 0.1443
vn 0.5762 -0.1390 0.8054
vn 0.3117 -0.1737 0.9342
vn 0.3298 -0.0772 0.9409
vn 0.6812 -0.7283 0.0743
vn 0.5057 -0.8108 -0.2949
vn 0.7425 -0.6227 -0.2467
vn -0.6440 -0.0666 -0.7621
vn -0.8688 -0.2939 -0.3984
vn 0.3033 -0.1888 -0.9340
vn -0.2445 -0.4889 0.8374
vn -0.7199 -0.6586 0.2191
vn -0.6479 -0.6033 0.4651
vn -0.0784 -0.4331 0.8979
vn 0.5271 0.2681 -0.8064
vn -0.7498 -0.4060 -0.5224
vn -0.5706 -0.6919 -0.4425
vn 0.5817 -0.3044 -0.7543
vn -0.4519 0.7571 0.4718
vn -0.7901 -0.1998 0.5795
vn -0.9888 0.1488 0.0121
vn -0.7011 0.7098 -0.0682
vn 0.2705 0.5286 0.8046
vn 0.4741 0.4884 0.7325
vn 0.4631 0.2101 0.8611
vn -0.1130 0.1409 -0.9835
vn 0.3584 -0.0169 -0.9334
vn 0.3629 0.2250 -0.9043
vn 0.5979 0.2738 0.7534
vn 0.8828 0.2369 0.4057
vn 0.9006 0.0981 0.4234
vn 0.9249 0.3087 -0.2220
vn 0.9527 0.1492 -0.2646
vn 0.0713 0.9702 0.2316
vn -0.1859 0.9393 -0.2883
vn 0.6007 -0.6235 -0.5005
vn 0.6712 -0.4188 0.6116
vn 0.1366 -0.2915 0.9468
vn -0.0194 -0.2534 0.9672
vn -0.1770 0.5986 0.7813
vn 0.1290 0.5939 0.7941
vn -0.4768 -0.6709 0.5679
vn -0.4443 -0.7687 0.4602
vn -0.7967 -0.5882 0.1388
vn 0.3950 -0.4006 -0.8267
vn 0.2173 0.1446 -0.9653
vn -0.4679 0.8751 0.1237
vn -0.0257 0.5274 0.8492
vn -0.6445 0.7559 0.1150
vn -0.8214 0.5694 -0.0345
vn -0.1273 0.9735 -0.1899
vn -0.1019 0.9791 -0.1763
vn -0.4159 0.5213 -0.7452
vn -0.8379 0.2844 -0.4658
vn -0.0729 0.5242 -0.8485
vn -0.1062 -0.1710 -0.9795
vn 0.0179 -0.3707 -0.9286
vn -0.2880 0.9576 -0.0023
vn -0.1264 0.8768 -0.4639
vn 0.1407 0.4602 0.8766
vn 0.6437 -0.6791 -0.3527
vn 0.7971 -0.4697 0.3795
vn 0.1682 -0.9063 0.3878
vn 0.2927 -0.8865 -0.3584
vn 0.2205 0.2229 -0.9496
vn -0.0538 0.9637 -0.2614
vn -0.2872 0.8972 -0.3354
vn -0.9985 -0.0153 0.0535
vn 0.6993 0.6003 -0.3881
vn 0.8884 -0.2424 -0.3897
vn -0.0928 -0.8454 0.5260
vn -0.5442 -0.8375 0.0499
vn 0.7216 0.3031 0.6224
vn 0.5563 -0.2218 0.8008
vn -0.6525 0.1331 -0.7460
vn 0.0515 0.8727 -0.4855
vn 0.5665 -0.8240 -0.0032
vn 0.2582 -0.8413 0.4749
vn -0.4591 0.8801 -0.1211
vn -0.2069 0.8568 -0.4722
vn 0.4199 0.2885 -0.8605
vn 0.6341 -0.1370 -0.7610
vn -0.0388 -0.3381 -0.9403
vn 0.0999 0.3071 -0.9464
vn 0.0288 0.3152 0.9486
vn -0.1018 -0.3078 0.9460
vn -0.5885 -0.7898 0.1731
vn -0.3695 -0.2315 -0.8999
vn -0.9983 0.0295 0.0497
vn -0.8111 -0.1976 0.5504
vn -0.5575 0.3637 -0.7463
vn 0.9990 -0.0440 0.0126
vn 0.6364 0.2883 -0.7154
vn 0.1358 -0.3905 0.9106
vn 0.1486 0.3160 0.9371
vn 0.0924 0.9778 0.1881
vn -0.0968 -0.9654 -0.2422
vn -0.1442 -0.1556 -0.9772
vn 0.5027 -0.8384 -0.2104
vn 0.3555 -0.8228 0.4434
vn -0.0504 -0.2612 0.9640
vn -0.3362 0.3205 0.8856
vn -0.4498 0.8699 0.2023
vn -0.3046 0.8630 -0.4031
vn 0.6263 -0.7530 -0.2019
vn 0.6395 -0.6424 0.4223
vn 0.2717 -0.0763 0.9593
vn -0.1255 0.4062 0.9051
vn -0.5446 0.8108 0.2146
vn -0.5351 0.7413 -0.4051
vn -0.2520 0.1330 -0.9585
vn 0.2034 -0.3626 -0.9095
vn 0.9247 -0.3039 0.2295
vn 0.5810 0.3077 0.7535
vn 0.9745 -0.1610 0.1561
vn 0.6835 -0.5976 -0.4191
vn 0.1802 0.6853 0.7056
vn 0.6378 0.4362 0.6348
vn -0.9460 0.2641 -0.1882
vn -0.7201 0.6324 0.2855
vn 0.5409 -0.7943 -0.2767
vn -0.5566 -0.8267 0.0824
vn 0.3524 0.7997 -0.4861
vn 0.6230 0.7512 0.2182
vn -0.5943 -0.3884 0.7042
vn -0.0252 -0.3996 0.9163
vn -0.0520 0.5671 -0.8220
vn 0.4356 0.8135 -0.3854
vn 0.6861 -0.0006 0.7275
vn 0.8211 0.4745 0.3173
vn -0.6201 -0.5291 0.5792
vn 0.0062 -0.5388 0.8424
vn -0.9785 -0.1759 -0.1073
vn 0.0058 0.3992 -0.9169
vn 0.7777 -0.1611 0.6076
vn 0.9698 0.2042 0.1336
vn -0.4660 -0.6574 0.5922
vn -0.7289 -0.6802 -0.0778
vn -0.5489 -0.1984 -0.8120
vn -0.1986 0.2442 -0.9492
vn 0.4354 0.7552 -0.4900
vn 0.6281 0.7781 -0.0112
vn 0.4868 0.2815 0.8269
vn 0.0910 -0.2085 0.9738
vn -0.9588 -0.2838 -0.0146
vn -0.8303 0.3845 0.4033
vn 0.9738 -0.1879 0.1280
vn -0.5638 -0.2636 -0.7827
vn 0.0911 -0.2556 -0.9625
vn 0.8196 -0.0523 -0.5705
vn 0.9801 0.1820 0.0789
vn 0.5484 0.3715 0.7492
vn -0.0089 0.3810 0.9245
vn -0.8318 0.1675 0.5292
vn -0.9956 -0.0614 -0.0702
vn 0.6311 -0.7174 0.2950
vn -0.1199 -0.2342 0.9648
vn -0.9068 -0.3782 0.1861
vn -0.1571 -0.8640 -0.4783
vn 0.4411 -0.8626 0.2476
vn 0.6144 -0.7607 0.2092
vn 0.5228 -0.7539 -0.3979
vn 0.3108 -0.2688 0.9117
vn 0.0761 0.3362 0.9387
vn -0.2550 0.8978 0.3591
vn -0.3505 0.9193 -0.1791
vn -0.2239 0.3108 -0.9237
vn 0.1451 -0.2163 -0.9655
vn -0.0318 0.3767 -0.9258
vn 0.6654 -0.7449 -0.0483
vn -0.6373 0.7698 0.0357
vn -0.4488 0.7700 0.4536
vn -0.5172 0.1905 -0.8344
vn -0.6195 -0.6831 -0.3869
vn 0.8713 0.4840 -0.0814
vn 0.5388 -0.2822 -0.7938
vn 0.1589 0.6694 0.7257
vn -0.8000 -0.0264 0.5995
usemtl (null)
s off
f 542//265 156//265 147//265
f 156//266 541//266 147//266
f 148//267 423//267 375//267
f 149//268 580//268 368//268
f 150//269 567//269 364//269
f 151//270 532//270 359//270
f 154//271 538//271 375//271
f 190//272 565//272 374//272
f 155//273 425//273 423//273
f 423//274 148//274 155//274
f 156//275 542//275 422//275
f 539//276 161//276 157//276
f 161//277 419//277 157//277
f 157//278 382//278 539//278
f 154//279 539//279 158//279
f 158//280 536//280 420//280
f 159//281 537//281 383//281
f 161//282 539//282 364//282
f 244//283 547//283 392//283
f 392//284 254//284 244//284
f 546//285 543//285 241//285
f 162//286 382//286 157//286
f 536//287 158//287 195//287
f 158//288 382//288 195//288
f 164//289 609//289 418//289
f 248//290 428//290 390//290
f 390//291 389//291 248//291
f 527//292 170//292 165//292
f 170//293 417//293 165//293
f 170//294 527//294 411//294
f 254//295 431//295 393//295
f 174//296 525//296 354//296
f 255//297 432//297 235//297
f 247//298 549//298 559//298
f 559//299 177//299 247//299
f 257//300 392//300 178//300
f 179//301 517//301 408//301
f 179//301 516//301 409//301
f 179//301 515//301 410//301
f 179//301 514//301 407//301
f 381//302 376//302 180//302
f 180//303 566//303 381//303
f 469//304 332//304 331//304
f 469//305 331//305 506//305
f 183//306 497//306 295//306
f 183//307 293//307 497//307
f 184//308 492//308 275//308
f 346//309 601//309 186//309
f 187//310 610//310 599//310
f 190//311 567//311 372//311
f 193//312 565//312 363//312
f 193//313 363//313 276//313
f 195//314 533//314 386//314
f 289//315 572//315 450//315
f 450//316 229//316 289//316
f 197//317 534//317 382//317
f 197//318 382//318 162//318
f 198//319 176//319 199//319
f 199//320 390//320 198//320
f 199//321 542//321 147//321
f 201//322 438//322 207//322
f 203//323 529//323 168//323
f 205//324 466//324 323//324
f 206//325 394//325 202//325
f 208//326 529//326 358//326
f 361//327 597//327 210//327
f 213//328 596//328 357//328
f 213//329 532//329 151//329
f 546//330 388//330 238//330
f 388//331 601//331 238//331
f 238//332 543//332 546//332
f 217//333 597//333 334//333
f 591//334 321//334 218//334
f 219//335 600//335 345//335
f 222//336 600//336 550//336
f 550//337 389//337 222//337
f 156//338 381//338 566//338
f 373//339 193//339 566//339
f 543//340 237//340 224//340
f 601//341 187//341 225//341
f 226//342 486//342 265//342
f 358//343 529//343 228//343
f 229//344 450//344 296//344
f 376//345 375//345 538//345
f 230//346 176//346 198//346
f 192//347 576//347 287//347
f 273//348 562//348 551//348
f 551//349 253//349 273//349
f 233//350 452//350 576//350
f 233//351 576//351 291//351
f 256//352 433//352 266//352
f 288//353 189//353 234//353
f 235//354 561//354 267//354
f 246//355 235//355 236//355
f 425//356 155//356 237//356
f 155//357 542//357 237//357
f 544//358 387//358 239//358
f 242//359 549//359 427//359
f 241//360 393//360 245//360
f 549//361 242//361 246//361
f 250//362 552//362 429//362
f 429//363 385//363 250//363
f 385//364 428//364 250//364
f 552//365 250//365 206//365
f 250//366 394//366 206//366
f 254//367 435//367 431//367
f 256//368 557//368 433//368
f 258//369 435//369 254//369
f 557//370 256//370 260//370
f 434//371 435//371 258//371
f 555//372 434//372 261//372
f 558//373 268//373 236//373
f 559//374 269//374 178//374
f 269//375 560//375 178//375
f 266//376 560//376 270//376
f 267//377 561//377 271//377
f 271//378 561//378 489//378
f 201//379 563//379 491//379
f 275//380 564//380 231//380
f 190//381 568//381 363//381
f 568//382 190//382 282//382
f 190//383 447//383 282//383
f 284//384 570//384 445//384
f 286//385 571//385 289//385
f 293//386 575//386 290//386
f 192//387 575//387 294//387
f 291//388 576//388 295//388
f 292//389 574//389 573//389
f 295//390 576//390 496//390
f 497//391 293//391 574//391
f 574//392 292//392 497//392
f 578//393 498//393 234//393
f 498//394 578//394 299//394
f 499//395 296//395 298//395
f 299//396 578//396 297//396
f 301//397 458//397 456//397
f 371//398 456//398 302//398
f 458//399 301//399 305//399
f 501//400 462//400 313//400
f 317//401 589//401 313//401
f 314//402 589//402 318//402
f 318//403 590//403 314//403
f 315//404 590//404 319//404
f 316//405 588//405 462//405
f 316//406 505//406 320//406
f 320//407 588//407 316//407
f 321//408 591//408 464//408
f 325//409 592//409 351//409
f 593//410 329//410 326//410
f 329//411 594//411 326//411
f 328//412 595//412 353//412
f 353//413 592//413 328//413
f 594//414 330//414 327//414
f 330//415 595//415 327//415
f 351//416 592//416 468//416
f 333//417 470//417 337//417
f 341//301 514//301 410//301
f 341//301 515//301 476//301
f 341//418 606//418 207//418
f 341//301 510//301 475//301
f 342//301 515//301 409//301
f 342//301 516//301 477//301
f 342//419 607//419 206//419
f 342//301 606//301 476//301
f 343//301 516//301 408//301
f 343//301 517//301 478//301
f 343//420 608//420 202//420
f 343//301 607//301 477//301
f 344//301 517//301 407//301
f 344//301 514//301 475//301
f 344//421 510//421 201//421
f 344//301 608//301 478//301
f 345//422 600//422 348//422
f 222//423 610//423 347//423
f 610//424 187//424 350//424
f 352//425 604//425 329//425
f 355//426 468//426 353//426
f 541//427 390//427 147//427
f 369//428 368//428 528//428
f 149//429 369//429 579//429
f 370//430 364//430 539//430
f 219//431 249//431 550//431
f 550//432 600//432 219//432
f 219//433 430//433 249//433
f 197//434 359//434 534//434
f 150//435 370//435 423//435
f 151//436 197//436 598//436
f 239//437 424//437 544//437
f 421//438 239//438 541//438
f 425//439 153//439 423//439
f 421//440 540//440 152//440
f 544//441 153//441 238//441
f 370//442 375//442 423//442
f 377//443 374//443 419//443
f 154//444 370//444 539//444
f 422//445 148//445 376//445
f 190//446 377//446 567//446
f 155//447 422//447 542//447
f 154//448 420//448 538//448
f 156//449 421//449 541//449
f 422//450 376//450 156//450
f 156//451 540//451 421//451
f 157//452 419//452 418//452
f 420//453 383//453 538//453
f 539//454 382//454 158//454
f 163//455 420//455 536//455
f 535//456 159//456 163//456
f 535//457 160//457 537//457
f 160//458 418//458 419//458
f 377//459 364//459 567//459
f 424//460 150//460 153//460
f 161//461 377//461 419//461
f 150//462 423//462 153//462
f 169//463 221//463 429//463
f 378//464 567//464 150//464
f 244//465 254//465 393//465
f 241//466 543//466 426//466
f 356//467 416//467 530//467
f 186//468 601//468 221//468
f 186//469 169//469 430//469
f 162//470 157//470 418//470
f 162//471 418//471 609//471
f 248//472 389//472 550//472
f 417//473 531//473 165//473
f 165//474 528//474 527//474
f 531//475 166//475 356//475
f 167//476 529//476 208//476
f 167//477 530//477 416//477
f 479//478 170//478 411//478
f 527//479 528//479 168//479
f 168//480 529//480 415//480
f 170//481 414//481 417//481
f 482//482 170//482 403//482
f 245//483 431//483 255//483
f 416//484 171//484 413//484
f 245//485 255//485 235//485
f 417//486 171//486 166//486
f 482//487 171//487 414//487
f 481//488 171//488 398//488
f 415//489 172//489 412//489
f 416//490 172//490 167//490
f 481//491 172//491 413//491
f 480//492 172//492 400//492
f 527//493 173//493 411//493
f 415//494 173//494 168//494
f 480//495 173//495 412//495
f 479//496 173//496 402//496
f 526//497 174//497 355//497
f 523//498 175//498 350//498
f 174//499 354//499 524//499
f 174//500 524//500 355//500
f 522//501 175//501 349//501
f 521//502 175//502 348//502
f 350//503 347//503 610//503
f 433//504 178//504 560//504
f 247//505 177//505 547//505
f 177//506 392//506 547//506
f 178//507 177//507 559//507
f 178//508 392//508 177//508
f 538//509 180//509 376//509
f 179//301 407//301 517//301
f 179//301 408//301 516//301
f 179//301 409//301 515//301
f 179//301 410//301 514//301
f 180//510 537//510 566//510
f 339//511 340//511 509//511
f 338//512 339//512 508//512
f 337//513 338//513 507//513
f 474//514 181//514 337//514
f 499//515 182//515 500//515
f 182//516 299//516 500//516
f 496//517 183//517 295//517
f 182//518 298//518 498//518
f 182//519 498//519 299//519
f 495//520 183//520 294//520
f 490//521 184//521 491//521
f 184//522 275//522 491//522
f 439//523 184//523 274//523
f 489//524 185//524 271//524
f 488//525 185//525 270//525
f 487//526 185//526 269//526
f 437//527 185//527 268//527
f 602//528 186//528 406//528
f 186//529 430//529 406//529
f 362//530 378//530 424//530
f 222//531 599//531 610//531
f 278//532 362//532 442//532
f 567//533 188//533 372//533
f 188//534 278//534 372//534
f 309//535 212//535 459//535
f 189//536 452//536 297//536
f 189//537 297//537 578//537
f 292//538 451//538 577//538
f 363//539 565//539 190//539
f 191//540 309//540 460//540
f 191//541 591//541 212//541
f 441//542 193//542 276//542
f 192//543 395//543 575//543
f 380//544 365//544 472//544
f 360//545 540//545 193//545
f 163//546 380//546 535//546
f 536//547 194//547 163//547
f 365//548 386//548 533//548
f 461//549 196//549 205//549
f 195//550 386//550 536//550
f 382//551 534//551 195//551
f 289//552 229//552 449//552
f 586//553 196//553 311//553
f 397//554 399//554 457//554
f 196//555 466//555 205//555
f 609//556 197//556 162//556
f 199//557 391//557 542//557
f 379//558 598//558 197//558
f 390//559 428//559 198//559
f 199//560 147//560 390//560
f 202//561 563//561 201//561
f 200//562 199//562 176//562
f 200//563 545//563 391//563
f 207//564 510//564 201//564
f 580//565 203//565 368//565
f 202//566 201//566 608//566
f 203//567 456//567 529//567
f 203//568 528//568 368//568
f 367//569 357//569 596//569
f 597//570 204//570 367//570
f 356//571 361//571 531//571
f 530//572 204//572 356//572
f 404//573 323//573 467//573
f 359//574 358//574 534//574
f 404//575 461//575 205//575
f 202//576 607//576 206//576
f 207//577 552//577 206//577
f 207//578 206//578 606//578
f 208//579 359//579 532//579
f 208//580 532//580 530//580
f 479//581 209//581 403//581
f 480//582 209//582 402//582
f 481//583 209//583 400//583
f 482//584 209//584 398//584
f 531//585 210//585 165//585
f 579//586 210//586 597//586
f 165//587 369//587 528//587
f 537//588 211//588 566//588
f 419//589 211//589 160//589
f 373//590 374//590 565//590
f 584//591 212//591 591//591
f 211//592 373//592 566//592
f 401//593 459//593 212//593
f 401//594 305//594 583//594
f 532//595 357//595 530//595
f 308//596 399//596 586//596
f 151//597 598//597 213//597
f 401//598 308//598 459//598
f 583//599 214//599 401//599
f 214//600 457//600 399//600
f 540//601 215//601 152//601
f 277//602 360//602 441//602
f 442//603 215//603 277//603
f 152//604 362//604 424//604
f 598//605 216//605 335//605
f 164//606 379//606 609//606
f 535//607 216//607 164//607
f 335//608 380//608 472//608
f 472//609 217//609 334//609
f 601//610 544//610 238//610
f 366//611 365//611 533//611
f 217//612 579//612 597//612
f 584//613 218//613 405//613
f 465//614 218//614 321//614
f 405//615 396//615 585//615
f 406//616 345//616 602//616
f 397//617 322//617 466//617
f 219//618 406//618 430//618
f 220//619 457//619 307//619
f 585//620 220//620 307//620
f 322//621 396//621 465//621
f 384//622 242//622 427//622
f 242//623 388//623 546//623
f 384//624 429//624 221//624
f 221//625 601//625 388//625
f 599//626 389//626 390//626
f 540//627 566//627 193//627
f 223//628 545//628 230//628
f 156//629 376//629 381//629
f 373//630 565//630 193//630
f 223//631 428//631 385//631
f 384//632 385//632 429//632
f 427//633 223//633 384//633
f 391//634 237//634 542//634
f 240//635 391//635 545//635
f 426//636 224//636 240//636
f 225//637 390//637 387//637
f 225//638 187//638 599//638
f 544//639 225//639 387//639
f 484//640 226//640 485//640
f 226//641 265//641 485//641
f 436//642 226//642 264//642
f 467//643 227//643 404//643
f 191//644 324//644 591//644
f 460//645 227//645 191//645
f 404//646 310//646 461//646
f 195//647 371//647 533//647
f 534//648 228//648 195//648
f 456//649 228//649 529//649
f 451//650 229//650 296//650
f 229//651 573//651 449//651
f 207//652 252//652 552//652
f 230//653 545//653 200//653
f 230//654 200//654 176//654
f 198//655 428//655 230//655
f 553//656 231//656 564//656
f 207//657 438//657 231//657
f 287//658 452//658 189//658
f 232//659 573//659 290//659
f 287//660 395//660 192//660
f 395//661 290//661 575//661
f 251//662 563//662 394//662
f 562//663 251//663 551//663
f 553//664 273//664 253//664
f 451//665 291//665 577//665
f 432//666 266//666 561//666
f 266//667 433//667 560//667
f 234//668 572//668 288//668
f 234//669 189//669 578//669
f 549//670 236//670 559//670
f 267//671 558//671 235//671
f 235//672 432//672 561//672
f 236//673 235//673 558//673
f 541//674 387//674 390//674
f 237//675 543//675 425//675
f 425//676 543//676 238//676
f 547//677 240//677 545//677
f 393//678 240//678 244//678
f 549//679 243//679 427//679
f 241//680 426//680 393//680
f 548//681 546//681 241//681
f 242//682 546//682 548//682
f 547//683 243//683 247//683
f 245//684 548//684 241//684
f 246//685 548//685 235//685
f 551//686 248//686 550//686
f 394//687 248//687 251//687
f 252//688 429//688 552//688
f 250//689 428//689 394//689
f 430//690 252//690 553//690
f 553//691 249//691 430//691
f 551//692 249//692 253//692
f 259//693 431//693 435//693
f 392//694 554//694 254//694
f 432//695 259//695 556//695
f 557//696 257//696 433//696
f 432//697 556//697 256//697
f 257//698 554//698 392//698
f 483//699 258//699 554//699
f 258//700 254//700 554//700
f 260//701 256//701 556//701
f 259//702 434//702 263//702
f 261//703 484//703 555//703
f 259//704 263//704 556//704
f 262//705 483//705 554//705
f 261//706 434//706 483//706
f 263//707 434//707 555//707
f 436//708 261//708 483//708
f 485//709 555//709 484//709
f 485//710 556//710 263//710
f 557//711 265//711 486//711
f 485//712 260//712 556//712
f 262//713 436//713 483//713
f 201//714 440//714 438//714
f 486//715 262//715 557//715
f 236//716 268//716 559//716
f 266//717 270//717 561//717
f 267//718 271//718 558//718
f 487//719 559//719 268//719
f 268//720 558//720 437//720
f 269//721 488//721 560//721
f 269//722 559//722 487//722
f 270//723 489//723 561//723
f 270//724 560//724 488//724
f 437//725 558//725 271//725
f 231//726 440//726 275//726
f 272//727 490//727 563//727
f 439//728 272//728 562//728
f 492//729 562//729 273//729
f 491//730 563//730 490//730
f 275//731 440//731 491//731
f 275//732 492//732 564//732
f 568//733 276//733 363//733
f 492//734 273//734 564//734
f 441//735 279//735 444//735
f 280//736 441//736 444//736
f 446//737 277//737 280//737
f 281//738 442//738 446//738
f 447//739 278//739 281//739
f 443//740 568//740 493//740
f 190//741 372//741 447//741
f 279//742 494//742 444//742
f 280//743 494//743 445//743
f 446//744 445//744 570//744
f 285//745 446//745 570//745
f 448//746 281//746 285//746
f 448//747 282//747 447//747
f 568//748 286//748 493//748
f 443//749 569//749 494//749
f 569//750 445//750 494//750
f 283//751 443//751 493//751
f 283//752 395//752 569//752
f 285//753 571//753 448//753
f 448//754 571//754 286//754
f 286//755 289//755 493//755
f 449//756 283//756 493//756
f 284//757 189//757 570//757
f 287//758 569//758 395//758
f 288//759 571//759 285//759
f 288//760 570//760 189//760
f 290//761 574//761 293//761
f 449//762 493//762 289//762
f 289//763 571//763 572//763
f 453//764 234//764 498//764
f 192//765 294//765 576//765
f 291//766 295//766 577//766
f 293//767 495//767 575//767
f 294//768 496//768 576//768
f 294//769 575//769 495//769
f 295//770 497//770 577//770
f 497//771 292//771 577//771
f 499//772 233//772 451//772
f 296//773 450//773 453//773
f 296//774 499//774 451//774
f 454//775 233//775 500//775
f 580//776 300//776 581//776
f 452//777 454//777 297//777
f 298//778 453//778 498//778
f 298//779 296//779 453//779
f 299//780 454//780 500//780
f 299//781 297//781 454//781
f 455//782 149//782 579//782
f 302//783 458//783 306//783
f 301//784 580//784 581//784
f 302//785 533//785 371//785
f 302//786 306//786 582//786
f 366//787 455//787 579//787
f 582//788 366//788 533//788
f 304//789 581//789 300//789
f 304//790 455//790 457//790
f 583//791 301//791 581//791
f 305//792 584//792 458//792
f 405//793 458//793 584//793
f 307//794 455//794 303//794
f 306//795 405//795 585//795
f 585//796 582//796 306//796
f 307//797 582//797 585//797
f 312//798 586//798 587//798
f 459//799 312//799 502//799
f 502//800 309//800 459//800
f 590//801 309//801 314//801
f 590//802 310//802 460//802
f 461//803 315//803 463//803
f 463//804 311//804 461//804
f 587//805 311//805 316//805
f 501//806 589//806 502//806
f 312//807 587//807 501//807
f 312//808 501//808 502//808
f 316//809 501//809 587//809
f 313//810 588//810 317//810
f 314//811 502//811 589//811
f 462//812 501//812 316//812
f 505//813 315//813 319//813
f 325//814 464//814 592//814
f 316//815 463//815 505//815
f 503//816 589//816 317//816
f 504//817 590//817 318//817
f 318//818 589//818 503//818
f 319//819 590//819 504//819
f 593//820 321//820 325//820
f 593//821 322//821 465//821
f 466//822 326//822 594//822
f 594//823 323//823 466//823
f 467//824 327//824 595//824
f 328//825 467//825 595//825
f 464//826 328//826 592//826
f 331//827 317//827 503//827
f 464//828 591//828 324//828
f 325//829 351//829 593//829
f 603//830 593//830 351//830
f 329//831 593//831 603//831
f 468//832 592//832 353//832
f 329//833 604//833 594//833
f 330//834 594//834 604//834
f 330//835 605//835 595//835
f 353//836 595//836 605//836
f 506//837 588//837 317//837
f 332//838 318//838 504//838
f 331//839 503//839 318//839
f 469//840 319//840 505//840
f 332//841 504//841 319//841
f 506//842 320//842 588//842
f 469//843 505//843 320//843
f 507//844 333//844 337//844
f 367//845 471//845 597//845
f 596//846 333//846 367//846
f 338//847 471//847 507//847
f 508//848 334//848 338//848
f 508//849 335//849 472//849
f 334//850 597//850 471//850
f 473//851 339//851 509//851
f 509//852 336//852 473//852
f 473//853 598//853 335//853
f 213//854 470//854 596//854
f 336//855 340//855 470//855
f 598//856 336//856 213//856
f 222//857 521//857 600//857
f 337//858 470//858 474//858
f 474//859 470//859 340//859
f 341//301 475//301 514//301
f 341//301 410//301 515//301
f 341//301 476//301 606//301
f 341//860 207//860 510//860
f 342//301 476//301 515//301
f 342//301 409//301 516//301
f 342//301 477//301 607//301
f 342//861 206//861 606//861
f 343//301 477//301 516//301
f 343//301 408//301 517//301
f 343//301 478//301 608//301
f 343//862 202//862 607//862
f 344//301 478//301 517//301
f 344//301 407//301 514//301
f 344//301 475//301 510//301
f 344//863 201//863 608//863
f 345//864 348//864 602//864
f 346//865 523//865 601//865
f 522//866 602//866 348//866
f 348//867 600//867 521//867
f 522//868 346//868 602//868
f 523//869 187//869 601//869
f 468//870 524//870 351//870
f 352//871 329//871 603//871
f 524//872 603//872 351//872
f 352//873 525//873 604//873
f 524//874 352//874 603//874
f 525//875 605//875 330//875
f 526//876 353//876 605//876
f 330//877 604//877 525//877
f 376//878 148//878 375//878
f 369//879 149//879 368//879
f 370//880 150//880 364//880
f 197//881 151//881 359//881
f 239//882 152//882 424//882
f 421//883 152//883 239//883
f 425//884 238//884 153//884
f 544//885 424//885 153//885
f 370//886 154//886 375//886
f 377//887 190//887 374//887
f 422//888 155//888 148//888
f 154//889 158//889 420//889
f 420//890 159//890 383//890
f 163//891 159//891 420//891
f 535//892 537//892 159//892
f 535//893 164//893 160//893
f 160//894 164//894 418//894
f 377//895 161//895 364//895
f 424//896 378//896 150//896
f 169//897 186//897 221//897
f 356//898 166//898 416//898
f 531//899 417//899 166//899
f 167//900 415//900 529//900
f 167//901 208//901 530//901
f 479//902 403//902 170//902
f 482//903 414//903 170//903
f 245//904 393//904 431//904
f 416//905 166//905 171//905
f 417//906 414//906 171//906
f 482//907 398//907 171//907
f 481//908 413//908 171//908
f 415//909 167//909 172//909
f 416//910 413//910 172//910
f 481//911 400//911 172//911
f 480//912 412//912 172//912
f 527//913 168//913 173//913
f 415//914 412//914 173//914
f 480//915 402//915 173//915
f 479//916 411//916 173//916
f 526//917 525//917 174//917
f 523//918 349//918 175//918
f 522//919 348//919 175//919
f 521//920 347//920 175//920
f 350//921 175//921 347//921
f 433//922 257//922 178//922
f 538//923 383//923 180//923
f 180//924 383//924 537//924
f 339//925 181//925 340//925
f 338//926 181//926 339//926
f 337//927 181//927 338//927
f 474//928 340//928 181//928
f 499//929 298//929 182//929
f 496//930 294//930 183//930
f 495//931 293//931 183//931
f 490//932 274//932 184//932
f 439//933 492//933 184//933
f 489//934 270//934 185//934
f 488//935 269//935 185//935
f 487//936 268//936 185//936
f 437//937 271//937 185//937
f 602//938 346//938 186//938
f 362//939 188//939 378//939
f 278//940 188//940 362//940
f 567//941 378//941 188//941
f 309//942 191//942 212//942
f 441//943 360//943 193//943
f 380//944 194//944 365//944
f 163//945 194//945 380//945
f 536//946 386//946 194//946
f 365//947 194//947 386//947
f 461//948 311//948 196//948
f 586//949 399//949 196//949
f 397//950 196//950 399//950
f 196//951 397//951 466//951
f 609//952 379//952 197//952
f 199//953 200//953 391//953
f 202//954 394//954 563//954
f 580//955 301//955 203//955
f 203//956 301//956 456//956
f 203//957 168//957 528//957
f 367//958 204//958 357//958
f 597//959 361//959 204//959
f 356//960 204//960 361//960
f 530//961 357//961 204//961
f 404//962 205//962 323//962
f 359//963 208//963 358//963
f 479//964 402//964 209//964
f 480//965 400//965 209//965
f 481//966 398//966 209//966
f 482//967 403//967 209//967
f 531//968 361//968 210//968
f 579//969 369//969 210//969
f 165//970 210//970 369//970
f 537//971 160//971 211//971
f 419//972 374//972 211//972
f 373//973 211//973 374//973
f 584//974 305//974 212//974
f 401//975 212//975 305//975
f 532//976 213//976 357//976
f 308//977 214//977 399//977
f 401//978 214//978 308//978
f 583//979 304//979 214//979
f 214//980 304//980 457//980
f 540//981 360//981 215//981
f 277//982 215//982 360//982
f 442//983 362//983 215//983
f 152//984 215//984 362//984
f 598//985 379//985 216//985
f 164//986 216//986 379//986
f 535//987 380//987 216//987
f 335//988 216//988 380//988
f 472//989 365//989 217//989
f 366//990 217//990 365//990
f 217//991 366//991 579//991
f 584//992 591//992 218//992
f 465//993 396//993 218//993
f 405//994 218//994 396//994
f 406//995 219//995 345//995
f 397//996 220//996 322//996
f 220//997 397//997 457//997
f 585//998 396//998 220//998
f 322//999 220//999 396//999
f 384//1000 221//1000 242//1000
f 242//1001 221//1001 388//1001
f 599//1002 222//1002 389//1002
f 540//1003 156//1003 566//1003
f 223//1004 243//1004 545//1004
f 223//1005 230//1005 428//1005
f 384//1006 223//1006 385//1006
f 427//1007 243//1007 223//1007
f 391//1008 224//1008 237//1008
f 240//1009 224//1009 391//1009
f 426//1010 543//1010 224//1010
f 225//1011 599//1011 390//1011
f 544//1012 601//1012 225//1012
f 484//1013 264//1013 226//1013
f 436//1014 486//1014 226//1014
f 467//1015 324//1015 227//1015
f 191//1016 227//1016 324//1016
f 460//1017 310//1017 227//1017
f 404//1018 227//1018 310//1018
f 195//1019 228//1019 371//1019
f 534//1020 358//1020 228//1020
f 456//1021 371//1021 228//1021
f 451//1022 292//1022 229//1022
f 229//1023 292//1023 573//1023
f 207//1024 231//1024 252//1024
f 553//1025 252//1025 231//1025
f 287//1026 576//1026 452//1026
f 232//1027 449//1027 573//1027
f 395//1028 232//1028 290//1028
f 251//1029 272//1029 563//1029
f 562//1030 272//1030 251//1030
f 553//1031 564//1031 273//1031
f 451//1032 233//1032 291//1032
f 432//1033 256//1033 266//1033
f 234//1034 450//1034 572//1034
f 549//1035 246//1035 236//1035
f 541//1036 239//1036 387//1036
f 547//1037 244//1037 240//1037
f 393//1038 426//1038 240//1038
f 549//1039 247//1039 243//1039
f 547//1040 545//1040 243//1040
f 245//1041 235//1041 548//1041
f 246//1042 242//1042 548//1042
f 551//1043 251//1043 248//1043
f 394//1044 428//1044 248//1044
f 252//1045 169//1045 429//1045
f 430//1046 169//1046 252//1046
f 553//1047 253//1047 249//1047
f 551//1048 550//1048 249//1048
f 259//1049 255//1049 431//1049
f 432//1050 255//1050 259//1050
f 557//1051 262//1051 257//1051
f 257//1052 262//1052 554//1052
f 483//1053 434//1053 258//1053
f 259//1054 435//1054 434//1054
f 261//1055 264//1055 484//1055
f 436//1056 264//1056 261//1056
f 485//1057 263//1057 555//1057
f 557//1058 260//1058 265//1058
f 485//1059 265//1059 260//1059
f 262//1060 486//1060 436//1060
f 201//1061 491//1061 440//1061
f 231//1062 438//1062 440//1062
f 272//727 274//727 490//727
f 439//1063 274//1063 272//1063
f 492//1064 439//1064 562//1064
f 568//1065 279//1065 276//1065
f 441//1066 276//1066 279//1066
f 280//1067 277//1067 441//1067
f 446//1068 442//1068 277//1068
f 281//1069 278//1069 442//1069
f 447//1070 372//1070 278//1070
f 443//1071 279//1071 568//1071
f 279//1072 443//1072 494//1072
f 280//1073 444//1073 494//1073
f 446//1074 280//1074 445//1074
f 285//1075 281//1075 446//1075
f 448//1076 447//1076 281//1076
f 448//1077 286//1077 282//1077
f 568//1078 282//1078 286//1078
f 443//1079 283//1079 569//1079
f 569//1080 284//1080 445//1080
f 283//1081 232//1081 395//1081
f 449//1082 232//1082 283//1082
f 284//1083 287//1083 189//1083
f 287//1084 284//1084 569//1084
f 288//1085 572//1085 571//1085
f 288//1086 285//1086 570//1086
f 290//1087 573//1087 574//1087
f 453//1088 450//1088 234//1088
f 499//1089 500//1089 233//1089
f 454//1090 452//1090 233//1090
f 580//1091 149//1091 300//1091
f 455//1092 300//1092 149//1092
f 302//1093 456//1093 458//1093
f 302//1094 582//1094 533//1094
f 366//1095 303//1095 455//1095
f 582//1096 303//1096 366//1096
f 304//1097 583//1097 581//1097
f 304//1098 300//1098 455//1098
f 583//1099 305//1099 301//1099
f 405//1100 306//1100 458//1100
f 307//1101 457//1101 455//1101
f 307//1102 303//1102 582//1102
f 312//1103 308//1103 586//1103
f 459//1104 308//1104 312//1104
f 502//1105 314//1105 309//1105
f 590//1106 460//1106 309//1106
f 590//1107 315//1107 310//1107
f 461//1108 310//1108 315//1108
f 463//1109 316//1109 311//1109
f 587//1110 586//1110 311//1110
f 501//1111 313//1111 589//1111
f 313//1112 462//1112 588//1112
f 505//1113 463//1113 315//1113
f 325//1114 321//1114 464//1114
f 593//1115 465//1115 321//1115
f 593//1116 326//1116 322//1116
f 466//1117 322//1117 326//1117
f 594//1118 327//1118 323//1118
f 467//1119 323//1119 327//1119
f 328//1120 324//1120 467//1120
f 464//1121 324//1121 328//1121
f 331//1122 506//1122 317//1122
f 332//1123 331//1123 318//1123
f 469//1124 332//1124 319//1124
f 506//1125 469//1125 320//1125
f 507//1126 471//1126 333//1126
f 367//1127 333//1127 471//1127
f 596//1128 470//1128 333//1128
f 338//1129 334//1129 471//1129
f 508//1130 472//1130 334//1130
f 508//1131 339//1131 335//1131
f 473//1132 335//1132 339//1132
f 509//1133 340//1133 336//1133
f 213//1134 336//1134 470//1134
f 598//1135 473//1135 336//1135
f 222//1136 347//1136 521//1136
f 346//1137 349//1137 523//1137
f 522//1138 349//1138 346//1138
f 523//1139 350//1139 187//1139
f 468//1140 355//1140 524//1140
f 352//1141 354//1141 525//1141
f 524//1142 354//1142 352//1142
f 525//1143 526//1143 605//1143
f 526//1144 355//1144 353//1144

Here are the counts for your teapot model:


   1176 f
   1144 vn
    610 v

So 1176 faces (all triangles) pulling from 610 vertex positions. You’re not doing anything with the normals right now.

Since you’re not using indexed vertices, the total vertices your loadObj() “should” return is 3*1176 = 3,528. This is a tiny number of vertices to draw for an entire frame.

However, due to some bugs in your loadObj() parser (one really nasty one), I think you’ll find you are not returning 3,528 vertices but rather 3,228,372 vertices for this model.

Note: To get your loadObj() parser to even work on this obj file, I had to change facetype to 2. Once I did that, I got 21ms (48Hz w/o VSync) running with your existing loadObj() bugs. Once I fixed the worst one, I was only loading 3528 vertices and my frame time was reduced to 0.25ms (~4000Hz).

I checked and I am using the GTX 1060 and the nvidia-driver-390.

Sounds good. Using 378.13 here. Just haven’t updated my driver in a while.

To save you the trouble of figuring out why that is: the loop which copies the vertices to [var]out_vertices[/var] should be moved outside of the main parsing loop. As it stands, each iteration of the parsing loop appends all vertices of all triangles found so far to [var]out_vertices[/var]. So each triangle is duplicated as many times as there are lines following its definition (not just “f” commands, but anything that causes another iteration of the parsing loop).

Previously you said:

It’s not actually exponential, just quadratic. But that still means that you’re rendering 1,076,124 triangles for a file which only contains 1176 triangles.

Thank you so much for your help :D. I think that you forgot to say what the really nasty bug was but that’s alright because GClements figured it out too. My teapot now runs at 60 frames per second in my program.

However, due to some bugs in your loadObj() parser (one really nasty one), I think you’ll find you are not returning 3,528 vertices but rather 3,228,372 vertices for this model.

I am wondering as to what the other bugs are though.

Notice that you are providing the same arguments to both calls except for the attribute index (with the same GL_ARRAY_BUFFER bound). This means you are telling both attributes to read the exact same data into each attribute, which is probably not what you intended.

Also, what arguments do you suppose that I provide to the calls in this situation?

Thanks again

To save you the trouble of figuring out why that is: the loop which copies the vertices to out_vertices should be moved outside of the main parsing loop.

Yep that did it :D! Thanks for the help. My program now runs at 60 frames per second (with vsync) with the teapot.

First, you need to copy the normals and texture coordinates into a buffer (either the same buffer as the positions or a different buffer), then pass the appropriate offset (with that buffer bound).

If you step though your parser in a debugger and look at how you’re parsing, it’ll be pretty obvious. For instance, you’re trying to substrings in a comment as tokens.

I still do not understand what you mean. Where are my normals and texture coordinates and how do I “copy the normals and texture coordinates into a buffer”? Then how do I “pass the appropriate offset”? I am not sure how buffers work, what normals are, or why I need to include normals in my shader in the first place.

In what part of my code am I “trying to substrings in a comment as tokens” and what exactly does that mean?

Sorry, I missed a word in there. Should have been: “you’re trying to parse substrings in a comment as tokens.”

What are substrings and tokens?

[ul]
[li]Substring (Wikipedia)[/li][li]Lexical Token (Wikipedia)[/li][/ul]