LWJGL Множественный текстурированный VBO

Я работаю над небольшим движком 2D-вокселей с фрагментами, и каждый фрагмент имеет VBO для рендеринга. Я столкнулся с проблемой, когда я мог указать координаты текстуры, но я не знал, как сообщить VBO, какую текстуру использовать для определенных частей VBO. Возможно ли это, и если да, то как лучше всего это сделать?


person Jake Hillis    schedule 27.02.2014    source источник


Ответы (1)


В вашем случае кажется, что лучшее, что вы можете сделать, это имитировать систему, используемую Minecraft. У вас может быть одна текстура, содержащая все ваши подтекстуры (http://www.jimmyn.com/tutorials/tut1/minecrafttextures.bmp). Просто напишите функцию, которая вычисляет координаты текстуры на основе индекса в сетке.

Если вам действительно нужно мультитекстурирование, вам придется использовать шейдеры. На веб-сайте LWJGL есть руководство по этому вопросу, а также введение в написание шейдеров: http://lwjgl.org/wiki/index.php?title=Main_Page

Третье решение, конечно же, состоит в том, чтобы просто сделать один VBO для каждой текстуры в чанке. Таким образом, чанк с двумя типами блоков будет иметь 2 VBO, и вы можете изменить текстуру между их отрисовкой.

person Vincent    schedule 30.06.2014