使用草绘数据在Xcode中渲染立方体

时间:2012-09-30 01:22:44

标签: ios opengl-es collada

我正在使用Xcode 4.5中的OpenGL ES模板。我在Google Sketchup中绘制一个立方体并导出到collada中。我将顶点和普通数据复制到Xcode中的open gl模板中,如下所示:

GLfloat gCubeVertexData[] =
{
    // Data layout for each line below is:
    // positionX, positionY, positionZ,     normalX, normalY, normalZ,
//    0.5f, -0.5f, -0.5f,        1.0f, 0.0f, 0.0f,
//    0.5f, 0.5f, -0.5f,         1.0f, 0.0f, 0.0f,
//    0.5f, -0.5f, 0.5f,         1.0f, 0.0f, 0.0f,
//    0.5f, -0.5f, 0.5f,         1.0f, 0.0f, 0.0f,
//    0.5f, 0.5f, -0.5f,         1.0f, 0.0f, 0.0f,
//    0.5f, 0.5f, 0.5f,          1.0f, 0.0f, 0.0f,
//    
//    0.5f, 0.5f, -0.5f,         0.0f, 1.0f, 0.0f,
//    -0.5f, 0.5f, -0.5f,        0.0f, 1.0f, 0.0f,
//    0.5f, 0.5f, 0.5f,          0.0f, 1.0f, 0.0f,
//    0.5f, 0.5f, 0.5f,          0.0f, 1.0f, 0.0f,
//    -0.5f, 0.5f, -0.5f,        0.0f, 1.0f, 0.0f,
//    -0.5f, 0.5f, 0.5f,         0.0f, 1.0f, 0.0f,
//    
//    -0.5f, 0.5f, -0.5f,        -1.0f, 0.0f, 0.0f,
//    -0.5f, -0.5f, -0.5f,       -1.0f, 0.0f, 0.0f,
//    -0.5f, 0.5f, 0.5f,         -1.0f, 0.0f, 0.0f,
//    -0.5f, 0.5f, 0.5f,         -1.0f, 0.0f, 0.0f,
//    -0.5f, -0.5f, -0.5f,       -1.0f, 0.0f, 0.0f,
//    -0.5f, -0.5f, 0.5f,        -1.0f, 0.0f, 0.0f,
//    
//    -0.5f, -0.5f, -0.5f,       0.0f, -1.0f, 0.0f,
//    0.5f, -0.5f, -0.5f,        0.0f, -1.0f, 0.0f,
//    -0.5f, -0.5f, 0.5f,        0.0f, -1.0f, 0.0f,
//    -0.5f, -0.5f, 0.5f,        0.0f, -1.0f, 0.0f,
//    0.5f, -0.5f, -0.5f,        0.0f, -1.0f, 0.0f,
//    0.5f, -0.5f, 0.5f,         0.0f, -1.0f, 0.0f,
//    
//    0.5f, 0.5f, 0.5f,          0.0f, 0.0f, 1.0f,
//    -0.5f, 0.5f, 0.5f,         0.0f, 0.0f, 1.0f,
//    0.5f, -0.5f, 0.5f,         0.0f, 0.0f, 1.0f,
//    0.5f, -0.5f, 0.5f,         0.0f, 0.0f, 1.0f,
//    -0.5f, 0.5f, 0.5f,         0.0f, 0.0f, 1.0f,
//    -0.5f, -0.5f, 0.5f,        0.0f, 0.0f, 1.0f,
//    
//    0.5f, -0.5f, -0.5f,        0.0f, 0.0f, -1.0f,
//    -0.5f, -0.5f, -0.5f,       0.0f, 0.0f, -1.0f,
//    0.5f, 0.5f, -0.5f,         0.0f, 0.0f, -1.0f,
//    0.5f, 0.5f, -0.5f,         0.0f, 0.0f, -1.0f,
//    -0.5f, -0.5f, -0.5f,       0.0f, 0.0f, -1.0f,
//    -0.5f, 0.5f, -0.5f,        0.0f, 0.0f, -1.0f


    9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    0.0000000, 0.0000000, -1.0000000,
    0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    0.0000000, 0.0000000, -1.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    0.0000000, 0.0000000, -1.0000000,
    9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    0.0000000, 0.0000000, -1.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    -1.0000000, 0.0000000, 0.0000000,
    0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    -1.0000000, 0.0000000, 0.0000000,

    0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    -1.0000000, 0.0000000, 0.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    -1.0000000, 0.0000000, 0.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    -0.0000000, 1.0000000, 0.0000000,
    9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    -0.0000000, 1.0000000, 0.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    -0.0000000, 1.0000000, 0.0000000,
    9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    -0.0000000, 1.0000000, 0.0000000,

    9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197,    1.0000000, 0.0000000, 0.0000000,
    9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    1.0000000, 0.0000000, 0.0000000,
    9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    1.0000000, 0.0000000, 0.0000000,
    9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    1.0000000, 0.0000000, 0.0000000,
    9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    -0.0000000, -1.0000000, -0.0000000,
    0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    -0.0000000, -1.0000000, -0.0000000,

    9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197,    -0.0000000, -1.0000000, -0.0000000,
    0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    -0.0000000, -1.0000000, -0.0000000,
    9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    0.0000000, 0.0000000, 1.0000000,
    0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    0.0000000, 0.0000000, 1.0000000,
    0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197,    0.0000000, 0.0000000, 1.0000000,
    9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197,    0.0000000, 0.0000000, 1.0000000
};

enter image description here

当我跑步时,我在下面有渲染的立方体,所以有些事情是不对的。

=======

看起来如果我使用法线,我不需要提供索引来渲染3D对象。但在我的情况下,无论是在顶点数据还是正常情况下,似乎都会出现问题......有没有人知道如何在collada中安排这两个数据?我阅读了文档但我找不到答案...谢谢

0 个答案:

没有答案