1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

renderEngine

Тема в разделе "Оффтопик", создана пользователем xDark, 6 ноя 2016.

  1. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Здравствуйте форум. Вообщем делаю что - то типо "плавного" перехода от одного цвета к другому,
    получилось вот что:
    Но поверх еще должно быть "лого", которое я "биндю" вот так:
    Код:
            GL11.glPushMatrix();
          
            GL11.glScalef(0.6F, 0.08F, 0.6F);
          
            mc.renderEngine.bindTexture("что - то");
          
            drawTexturedModalRect(5, 65, 0, 0, 260, 200);
          
            GL11.glPopMatrix();
    И вот проблема в том, что эта текстура не прорисовывается. Кто сталкивался с этим...?
     
  2. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    up
    Точнее говоря, эта текстура переливаться вся цветами, кто знает, как это можно сделать, например, с помощью opengl?
    Вот, как "переливается" цвет:
    Код:
    package NullPointerException;
    
    public class SmoothColorProvider implements ColorProvider {
        private String[] hex;
        private int r;
        private int g;
        private int b;
        private int seq;
        private int speed;
        private int current;
    
        public SmoothColorProvider() {
            this(1);
        }
    
        public SmoothColorProvider(final int speed) {
            this.hex = new String[] { "00", "14", "28", "3C", "50", "64", "78", "8C", "A0", "B4", "C8", "DC", "F0" };
            this.r = 1;
            this.g = 1;
            this.b = 1;
            this.seq = 1;
            this.current = 0;
            this.speed = speed;
        }
    
        @Override
        public void update() {
            if (this.current < this.speed) {
                ++this.current;
                return;
            }
            this.current = 0;
            if (this.seq == 6) {
                --this.b;
                if (this.b == 0) {
                    this.seq = 1;
                }
            }
            if (this.seq == 5) {
                ++this.r;
                if (this.r == 12) {
                    this.seq = 6;
                }
            }
            if (this.seq == 4) {
                --this.g;
                if (this.g == 0) {
                    this.seq = 5;
                }
            }
            if (this.seq == 3) {
                ++this.b;
                if (this.b == 12) {
                    this.seq = 4;
                }
            }
            if (this.seq == 2) {
                --this.r;
                if (this.r == 0) {
                    this.seq = 3;
                }
            }
            if (this.seq == 1) {
                ++this.g;
                if (this.g == 12) {
                    this.seq = 2;
                }
            }
        }
    
        @Override
        public int getColor() {
            return Integer.parseInt(this.hex[this.r] + this.hex[this.g] + this.hex[this.b], 16);
        }
    
        @Override
        public int getR() {
            return Integer.parseInt(this.hex[this.r], 16);
        }
    
        @Override
        public int getG() {
            return Integer.parseInt(this.hex[this.g], 16);
        }
    
        @Override
        public int getB() {
            return Integer.parseInt(this.hex[this.b], 16);
        }
    
        public int getSpeed() {
            return this.speed;
        }
    
        public void setSpeed(final int speed) {
            this.speed = speed;
        }
    }
    
     
    Последнее редактирование: 7 ноя 2016
  3. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    А как рисуется объект с цветом?
    Надо сделать что бы лого переливалось или нет?
     
  4. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Да, именно лого.
    Код:
    public class GuiIngameHook extends GuiScreen {
        public GuiIngameHook() {
            this.mc = Minecraft.getMinecraft();
        }
    
        public void renderScreen() {
            if (mc.currentScreen instanceof GuiChat || mc.currentScreen instanceof GuiSleepMP)
                return;
            drawlogo();
        }
    }
    Код:
        protected void drawlogo() {
            GL11.glPushMatrix();
    
            if (!mc.isGamePaused)
                provider.update();
            int r = provider.getR();
            int g = provider.getG();
            int b = provider.getB();
            int a = 255;
    
            GL11.glScalef(0.8F, 1F, 0.8F);
    
            GL11.glColor4f(r, g, b, a);
    
            final int width = Minecraft.getMinecraft().fontRenderer.getStringWidth("что то") * 5;
    
            mc.renderEngine.bindTexture("что то");
    
            // final Tessellator tessellator = Tessellator.instance;
    
            // Вот этот самый "куб"
            // tessellator.startDrawingQuads();
            // tessellator.addVertex(0.0, 48.0, 0.0);
            // tessellator.setColorRGBA_I(0, 1);
            // tessellator.setColorRGBA(r, g, b, a);
            // tessellator.addVertex(width, 48.0, 0.0);
            // tessellator.setColorRGBA_I(1, 1);
            // tessellator.setColorRGBA(r, g, b, a);
            // tessellator.addVertex(width, 0.0, 0.0);
            // tessellator.setColorRGBA_I(0, 0);
            // tessellator.setColorRGBA(r, g, b, a);
            // tessellator.addVertex(0.0, 0.0, 0.0);
            // tessellator.setColorRGBA_I(0, 0);
            // tessellator.setColorRGBA(r, g, b, a);
            // tessellator.draw();
    
            drawTexturedModalRect(-5, -100, 0, 0, 260, 260);
    
            GL11.glPopMatrix();
        }
    Оно разноцветное, да, но меняется очень резко, не плавно.
    up
     
    Последнее редактирование: 7 ноя 2016
  5. CatCoder

    CatCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    CatCoder
    Когда пересмотрел DarksideCode.
     
  6. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Не :D Мне для мода это нужно
     
  7. CatCoder

    CatCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    CatCoder
    Хах, и аву уже сменил))0
     
  8. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Аааа, ты про это... ну ок
     
  9. CatCoder

    CatCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    CatCoder
    И про чит его, дизайн которого похожий на твой))
     
  10. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    как бы не его... И не знаю чей... Ну ок. Мне проста сделать эту надпись дуратскую надо, но толии у меня руки кривые, толи opengl не торт
     
  11. CatCoder

    CatCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    CatCoder
    Чекни сурцы читов и прочей бяки, может что-то годное найдёшь.
     
  12. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    проблема... обускэйтед
    @Dereku ? C:
     
  13. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Я в opengl дуб-дубом, как и все завсегдатаи этого форума.
     
  14. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    Попробовать glColor3f перед drawTexturedModalRect?
     
  15. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    О, попробую сегодня.
    Нет, не помог мне 3f, up
    UP
    Есть результат, но цвет меняется очень резко.
    ап1!11!1
     
  16. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Я не шарю в OpenGL но там разве нету методов для transition? И ещё как вариант использовать градиент.
     
  17. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Нету вроде, возможно есть какое нибудь апи, но найти не могу. То ли я слепой, то и вправду.. нету
    ап
    up
    UUUUUUP
    uuuuuuup
     
  18. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Обратись на другой форум где шарят по теме разработке на OpenGL!
     

Поделиться этой страницей