[1.6.4] Render

435
1
В общем не знаю как сделать чтобы рендер не зависел от освещения (текстура имела всегда один цвет/яркость). Как это осуществить?
 
Код:
    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data)
    {    
            switch(type){  
            case EQUIPPED_FIRST_PERSON:{
            GL11.glPushMatrix();

            Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation ("mrcreppo", "textures/medved.png"));

            GL11.glScalef(0.4F, 0.4F, 0.4F);
            GL11.glTranslatef(2.6F, 2.7F, -3.23F);
            GL11.glRotatef(-5.7F, 0, 0, 1);
            GL11.glRotatef(-20, 1, 0, 0);
            GL11.glRotatef(30, 0, 1, 0);
            
            GL11.glRotatef(-90F, 0F, 1F, 0F);
            GL11.glRotatef(0F, 0F, 0F, 1F);
            GL11.glRotatef(-90F, 1F, 0F, 0F);
            GL11.glTranslatef(-0.86F, -0.2F, 0.9F);    
            model.renderDisp(0.0625F);
            GL11.glPopMatrix();
            }
            break;
            default:
            break;
    }
 
Нет. Измененный код с отключением освещения, как ты пытался там.
 
@Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data)
    {   
            switch(type){ 
            case EQUIPPED_FIRST_PERSON:{
            GL11.glPushMatrix();

            Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation ("mrcreppo", "textures/medved.png"));

            GL11.glScalef(0.4F, 0.4F, 0.4F);
            GL11.glTranslatef(2.6F, 2.7F, -3.23F);
            GL11.glRotatef(-5.7F, 0, 0, 1);
            GL11.glRotatef(-20, 1, 0, 0);
            GL11.glRotatef(30, 0, 1, 0);
           
            GL11.glRotatef(-90F, 0F, 1F, 0F);
            GL11.glRotatef(0F, 0F, 0F, 1F);
            GL11.glRotatef(-90F, 1F, 0F, 0F);
            GL11.glTranslatef(-0.86F, -0.2F, 0.9F);   
           
            RenderHelper.disableStandardItemLighting();
            model.renderDisp(0.0625F);
           
            GL11.glPopMatrix();
            }
            break;
            default:
            break;
    }
 
Попробуй это тогда, лол
Код:
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
или
Код:
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
Может нормали шалят.
И приложи скрины, как оно выглядит, что не так.
 
Специально для тебя заморочился и сделайл свой рендерер.
Короче вот решение:

Код:
            RenderHelper.disableStandardItemLighting();       
            short short1 = 240;
            short short2 = 240;
            OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)short1 / 1.0F, (float)short2 / 1.0F);
 
Так окей, а как это отключить после использования?
 
Код:
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, OpenGLHelper.lastBrightnessX, OpenGLHelper.lastBrightnessY);

Код:
RenderHelper.enableStandardItemLighting(); //здесь хз, лол
 
Oldestkon написал(а):
Специально для тебя заморочился и сделайл свой рендерер.
Короче вот решение:

Код:
            RenderHelper.disableStandardItemLighting();       
            short short1 = 240;
            short short2 = 240;
            OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)short1 / 1.0F, (float)short2 / 1.0F);
А что это за два шорта? Что они значат? А то я пытался пауку глаза сделать светащиеся, а он у меня весь светился.
 
UV-Координаты на лайтмапе. Освещение для текущего времени суток в майне пишется в текстурку 16х16, где по одной оси - освещение от неба с 0 до 15, а по другой - освещение от ламп от 0 до 15. По координатам (1, 1) стоит полное освещение и от ламп и от неба, а это вроде как всегда белый цвет.
 
Ага.
Я эти три строки кода просто выдрал из недр GuiContainer. Поэтому так коряво выглядит, лел.
 
Назад
Сверху