Отрисовка квадратной текстуры на весь экран

1,137
5
3
Хотел сделать что-то типа тыквы. Имею текстуру 256х256. Когда рисую на весь экран, она растягивается под размеры экрана. А мне этого не надо. Как быть?
 
Ну что-то типа этого.
Код:
Tessellator tessellator = Tessellator.instance;

int width = resolution.getScaledWidth();
int height = resolution.getScaledHeight();

GL11.glPushMatrix();
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

int w_min = 0;
int w_max = width;
int h_min = 0;
int h_max = height;

if (width > height) {
w_min = (width / 2) - (height /2);
w_max = (width / 2) + (height /2);
//-------------------------------------------------------------
voidRender(tessellator, 0, w_min, h_min, h_max, черные поля);
voidRender(tessellator, w_max, width, h_min, h_max, черные поля);
//-------------------------------------------------------------
} else if (height > width) {
h_min = (height / 2) - (width /2);
h_max = (height / 2) + (width /2);
//-------------------------------------------------------------
voidRender(tessellator, w_min, w_max, 0, h_min, черные поля);
voidRender(tessellator, w_min, w_max, h_max, height, черные поля);
//-------------------------------------------------------------
}
//-------------------------------------------------------------
voidRender(tessellator, w_min, w_max, h_min, h_max, Основная текстура);
//-------------------------------------------------------------
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
[merge_posts_bbcode]Добавлено: 02.07.2016 23:34:45[/merge_posts_bbcode]

Если я правельно понял тебя.

[merge_posts_bbcode]Добавлено: 02.07.2016 23:35:51[/merge_posts_bbcode]

voidRender - мой метод, но думаю смысл понятен.
 
Я когда пробовал разрабатывать игру на libgdx сталкивался с проблемой: при неправильной настройке viewport, появлялись чёрные полосы, и я с ними боролся. А теперь, наоборот, надо, чтобы они появились. Так может пошаманить над glViewport?
 
Ты хочешь фигнюшку перед лицом, которая будет сохранять размер, даже если экран больше неё (то есть по краям будут "щели")?
А в чём проблема отрисовывать обычный квад, беря за Y-координату eyeHeight игрока +/- 128 и вращать за ним по glRotatef(player.rotationYaw, 0.0F, 1.0F, 0.0F) ?
[merge_posts_bbcode]Добавлено: 03.07.2016 14:15:42[/merge_posts_bbcode]

Если обязательно на самом экране - есть же вроде для гуи какие-то методы, типа drawScreen или как они там - можешь их использовать, они, вроде, не тянутся
 
Назад
Сверху