Как применить градиент к изображениям?

1,057
50
234
Добрый день.
Как применить градиент к изображениям, нарисованными через телсселятор?
И как вращать этот градиент?
tbwivmfbmfef.gif


Изображение рисую так:
Код:
        GL11.glPushMatrix();
        
        GL11.glDisable(GL11.GL_BLEND);
        
        // Render jupiter
        f10 = 20.0F;
        GL11.glScalef(0.6F, 0.6F, 0.6F);
        GL11.glRotatef(-180.0F, 100.0F, 1.0F, 0.0F);
        GL11.glRotatef(world.getCelestialAngle(partialTicks) * 360F, 1.0F, 0.0F, 0.0F);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1F);
        FMLClientHandler.instance().getClient().renderEngine.bindTexture(SkyProviderPhobos.marsTexture);
        tessellator1.startDrawingQuads();
        tessellator1.addVertexWithUV(-f10, -100.0D, f10, 0, 1);
        tessellator1.addVertexWithUV(f10, -100.0D, f10, 1, 1);
        tessellator1.addVertexWithUV(f10, -100.0D, -f10, 1, 0);
        tessellator1.addVertexWithUV(-f10, -100.0D, -f10, 0, 0);
        tessellator1.draw();
        
       
        GL11.glPopMatrix();
 
Это не градиент, каждой из вершин дополнительно задан определенный цвет
вот такой код окрасит один угол в черный, два будут полу темные, один светлый
Код:
        tessellator1.startDrawingQuads();
        tessellator1.setColorRGBA_F(0f, 0f, 0f, 1f);
        tessellator1.addVertexWithUV(-f10, -100.0D, f10, 0, 1);
        tessellator1.setColorRGBA_F(0.5f, 0.5f, 0.5f, 1f);
        tessellator1.addVertexWithUV(f10, -100.0D, f10, 1, 1);
        tessellator1.setColorRGBA_F(0.5f, 0.5f, 0.5f, 1f);
        tessellator1.addVertexWithUV(f10, -100.0D, -f10, 1, 0);
        tessellator1.setColorRGBA_F(1f, 1f, 1f, 1f);
        tessellator1.addVertexWithUV(-f10, -100.0D, -f10, 0, 0);
        tessellator1.draw();
 
Всё гениальное - просто :D
Каждому углу задаёшь цвет и готов простой градиент в максимум 4 цвета
 
Мммм, а я не знал что такая фича есть. Так вот как те лазеры рендерились двух-цветными.
Like.
 
Назад
Сверху