2014-10-01 3 views
0

Я не делал много математики в своей средней школе, но после долгих исследований я понимаю, что для рисования многоугольника нам нужно определить массив float как его вершин. Однако я не понимаю, как заставить полигон соответствовать текстуре.Как определить многоугольник Вершины, соответствующие текстуре?

Я провел много исследований, но не смог найти ответ или простую демонстрацию относительно того, как люди отображают свою текстуру так, чтобы полигон правильно вписывался. Все, что я вижу, это прямая демонстрация массива float, но не то, как они получили каждую точку.

На данный момент я использую около 8 прямоугольников, чтобы заполнить мою текстуру для обнаружения столкновений, которая не очень эффективна.

+0

Вы можете проверить этот родственный вопрос: HTTP: //stackoverflow.com/questions/5532595/how-do-opengl-texture-coordinates-work. –

ответ

0

Это комментарий от какой-то код, который я написал давным-давно для связывания текстуры на прямоугольник с помощью LWJGL (который использует Java OpenGL)

/* For each corner of the quad we define the coordinates of both the texture 
      * and the vertex. 
      * 
      * - The vertex coordinates are the coordinates on the screen that 
      *  they are drawn to. 
      * - The texture coordinates tell which portion of the texture is used. 
      * 
      * Texture coordinates are represented in the textureBounds array as follows: 
      * [<leftmost x>, <bottommost y>, <rightmost x>, <topmost y>] 
      * 
      * - Texture coordinates [0.0, 0.0, 1.0, 1.0] mean the whole texture is drawn. 
      * 
      * - [0.0f, 0.0f, 0.5f, 1.0f] means that only the left half of texture is drawn. 
      * 
      * - [0.0f, 0.5f, 2.0f, 1.0f] means that the top half (y is from 0.5 to 1.0) 
      *  of the texture is drawn side-by-side twice (x is from 0.0 to 2.0) 
      * 
      * */ 
Смежные вопросы