Костыли в рендеринге.

Версия Minecraft
1.7.10
608
5
15
Какой из двух вариантов лучше, и имеет ли вообще это значение?
1 - изменять размеры картинки путём изменения координат в Tessellator
2 - изменять размеры картинки путём glScalef
 
250
12
24
А вот как по мне, так лучше через тесселятор.
Делается примерно так:

Java:
            int x - позиция по Х
            int y - позиция по Y
            int w - ширина картинки
            int h - высота картинки
            int u - начало координат по X на текстур карте
            int v - начало координат по Y на текстур карте
            double scale - фактор размера т.е если ширина будет 100 то на текстур карте будет
            браться от начала "u" до "u+100" но так картинки могут быть слишком большие,
            так что ширина картинки которая будет рендерится изменяется посредством scale
            если w = 100 h = 50 scale = 0.5
            то будет картинка размером 50х25 но на текстур карте будет выбрана область 100х50
            
            float f - это размер картинки, в тесселяторе вся карта это 1х1 так что нужно 1 делить на
            твой размер картинки
            
            f=1f/256(анологично для 512, 1024, 2048 и т.д)
            при желании можно использовать и не квадратные текстур карты, но придется
            создавать еще f1 и в нем делить 1 на высоту(при учете что f - ширина)
            
            Tessellator tess = Tessellator.instance;
            tess.startDrawingQuads();
            tess.addVertexWithUV(x        , y+h*scale, this.zLevel, (u*f)  , (v+h)*f);
            tess.addVertexWithUV(x+w*scale, y+h*scale, this.zLevel, (u+w)*f, (v+h)*f);
            tess.addVertexWithUV(x+w*scale, y        , this.zLevel, (u+w)*f, (v*f)  );
            tess.addVertexWithUV(x        , y        , this.zLevel, (u*f)  , (v*f)  );
            tess.draw();
 
2,505
81
397
при желании можно использовать и не квадратные текстур карты, но придется
Вот лучше не стоит делать. Лучше использовать POT текстуры, если не хотите получить искажения на разных видео картах. По дефолту майн не расширяет текстуру до POT, так что проще будет просто использовать картинку POT размеров. Но лучше, конечно же, написать свой загрузчик.
 
250
12
24
Но лучше, конечно же, написать свой загрузчик.
Лучше то лучше, но не каждый сможет написать СВОЙ загрузчик. Разве что Ctrl + C Ctrl + V.

Конечно есть, оттуда и взял как основу. Да и добавил коменты.
 
Сверху