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