Как настроить вершины для прямоугольника? - PullRequest
0 голосов
/ 17 сентября 2010

Мне нужно настроить вершины для прямоугольника - у меня есть квадратный пример, как бы я изменил его, чтобы получить прямоугольник, в 5 раз превышающий ширину и половину высоты?

    /** The initial vertex definition */    
private float vertices[] = {
                    //Vertices according to faces
                    -1.0f, -1.0f, 1.0f, //v0
                    1.0f, -1.0f, 1.0f,     //v1
                    -1.0f, 1.0f, 1.0f,     //v2
                    1.0f, 1.0f, 1.0f,     //v3

                    1.0f, -1.0f, 1.0f,     // ...
                    1.0f, -1.0f, -1.0f, 
                    1.0f, 1.0f, 1.0f, 
                    1.0f, 1.0f, -1.0f,

                    1.0f, -1.0f, -1.0f, 
                    -1.0f, -1.0f, -1.0f, 
                    1.0f, 1.0f, -1.0f, 
                    -1.0f, 1.0f, -1.0f,

                    -1.0f, -1.0f, -1.0f, 
                    -1.0f, -1.0f, 1.0f, 
                    -1.0f, 1.0f, -1.0f, 
                    -1.0f, 1.0f, 1.0f,

                    -1.0f, -1.0f, -1.0f, 
                    1.0f, -1.0f, -1.0f, 
                    -1.0f, -1.0f, 1.0f, 
                    1.0f, -1.0f, 1.0f,

                    -1.0f, 1.0f, 1.0f, 
                    1.0f, 1.0f, 1.0f, 
                    -1.0f, 1.0f, -1.0f, 
                    1.0f, 1.0f, -1.0f, 
                                        };

Хорошо, я думаю, что правильно настроил вершины, но теперь мне нужно настроить текстуры и индексы нормалей:

/** The initial vertex definition */    
private float vertices[] = {
                    //Vertices according to faces
                    -1.0f, -.5f, 1.0f, //v0
                    4.0f, -.5f, 1.0f,     //v1
                    -1.0f, .5f, 1.0f,     //v2
                    4.0f, .5f, 1.0f,     //v3

                    4.0f, -.5f, 1.0f,     // 2...
                    4.0f, -.5f, -1.0f, 
                    4.0f, .5f, 1.0f, 
                    4.0f, .5f, -1.0f,

                    4.0f, -.5f, -1.0f, //3
                    -1.0f, -.5f, -1.0f, 
                    4.0f, .5f, -1.0f, 
                    -1.0f, .5f, -1.0f,

                    -1.0f, -.5f, -1.0f, //4
                    -1.0f, -.5f, 1.0f, 
                    -1.0f, .5f, -1.0f, 
                    -1.0f, .5f, 1.0f,

                    -1.0f, -.5f, -1.0f, //5
                    4.0f, -.5f, -1.0f, 
                    -1.0f, -.5f, 1.0f, 
                    4.0f, -.5f, 1.0f,

                    -1.0f, .5f, 1.0f, //6
                    4.0f, .5f, 1.0f, 
                    -1.0f, .5f, -1.0f, 
                    4.0f, .5f, -1.0f, 
                                        };

Любые предложения, как их настроить:

private float normals[] = {
                        // Normals
                        0.0f, 0.0f, 1.0f, 


                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f, 

                    0.0f, 0.0f, 1.0f, 
                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f,

                    0.0f, 0.0f, 1.0f, 
                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f,

                    0.0f, 0.0f, 1.0f, 
                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f,

                    0.0f, 0.0f, 1.0f, 
                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f,

                    0.0f, 0.0f, 1.0f, 
                    0.0f, 0.0f, -1.0f, 
                    0.0f, 1.0f, 0.0f, 
                    0.0f, -1.0f, 0.0f,
                                        };

/** The initial texture coordinates (u, v) */   
private float texture[] = {
                    //Mapping coordinates for the vertices
                    0.0f, 0.0f, 
                    0.0f, 1.0f, 
                    1.0f, 0.0f, 
                    1.0f, 1.0f,

                    0.0f, 0.0f,
                    0.0f, 1.0f, 
                    1.0f, 0.0f,
                    1.0f, 1.0f,

                    0.0f, 0.0f, 
                    0.0f, 1.0f, 
                    1.0f, 0.0f, 
                    1.0f, 1.0f,

                    0.0f, 0.0f, 
                    0.0f, 1.0f, 
                    1.0f, 0.0f, 
                    1.0f, 1.0f,

                    0.0f, 0.0f, 
                    0.0f, 1.0f, 
                    1.0f, 0.0f, 
                    1.0f, 1.0f,

                    0.0f, 0.0f, 
                    0.0f, 1.0f, 
                    1.0f, 0.0f, 
                    1.0f, 1.0f, 
                                };

/** The initial indices definition */
private byte indices[] = {
                    // Faces definition
                    0, 1, 3, 0, 3, 2,       // Face front
                    4, 5, 7, 4, 7, 6,       // Face right
                    8, 9, 11, 8, 11, 10,    // ...
                    12, 13, 15, 12, 15, 14, 
                    16, 17, 19, 16, 19, 18, 
                    20, 21, 23, 20, 23, 22, 
                                            };

1 Ответ

0 голосов
/ 17 сентября 2010
glScalef(5.0f, 0.5f, 1.0f);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...