• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Умный вектор матриц для рисования | Minecraft 1.16.5

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Авг 2023
Сообщения
350
Реакции
24
итак я как истинный селфкодер решил подарить фаны для пастерков!

SmartVectorRenderer:

ДУРАЛЕЙ.lua:
Expand Collapse Copy
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.GL11;

public class SmartVectorRenderer extends Tessellator {
    private static final int BUFFER_SIZE = 1024;
    private final FloatBuffer vertexBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);
    private final FloatBuffer colorBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);

    public SmartVectorRenderer() {
        super(BUFFER_SIZE);
    }

    @Override
    public void startDrawing() {
        GL11.glPushMatrix();
        GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glVertexPointer(3, GL11.GL_FLOAT, 0, vertexBuffer);
        GL11.glEnableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glColorPointer(4, GL11.GL_FLOAT, 0, colorBuffer);
    }

    @Override
    public void stopDrawing() {
        GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glDisableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glPopMatrix();
    }

    public void drawLine(Vec3d start, Vec3d end, float red, float green, float blue, float alpha) {
        vertexBuffer.clear();
        colorBuffer.clear();

        vertexBuffer.put((float) start.x).put((float) start.y).put((float) start.z);
        vertexBuffer.put((float) end.x).put((float) end.y).put((float) end.z);

        colorBuffer.put(red).put(green).put(blue).put(alpha);
        colorBuffer.put(red).put(green).put(blue).put(alpha);

        vertexBuffer.flip();
        colorBuffer.flip();

        GL11.glDrawArrays(GL11.GL_LINES, 0, 2);
    }
}

Далее ваша задача привязать модуль и при нажатии на клавишу (в моем примере на G) будет рисовка:

Код:
Expand Collapse Copy
  if (event.getKey() == Keyboard.KEY_G) {
     Vec3d cursorPos = Minecraft.getMinecraft().objectMouseOver.hitVec;
     SmartVectorRenderer renderer = new SmartVectorRenderer();
     renderer.startDrawing();
     renderer.drawLine(cursorPos, cursorPos.add(10, 0, 0), 1.0f, 0.0f, 0.0f, 1.0f);
     renderer.stopDrawing();
  }

P.s тот кто будет выебываться на мой божественный код, будет разъебан и разобран в щепки от лучших реверсеров UshastiySquad
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Смысл от него?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
итак я как истинный селфкодер решил подарить фаны для пастерков!

SmartVectorRenderer:

ДУРАЛЕЙ.lua:
Expand Collapse Copy
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.GL11;

public class SmartVectorRenderer extends Tessellator {
    private static final int BUFFER_SIZE = 1024;
    private final FloatBuffer vertexBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);
    private final FloatBuffer colorBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);

    public SmartVectorRenderer() {
        super(BUFFER_SIZE);
    }

    @Override
    public void startDrawing() {
        GL11.glPushMatrix();
        GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glVertexPointer(3, GL11.GL_FLOAT, 0, vertexBuffer);
        GL11.glEnableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glColorPointer(4, GL11.GL_FLOAT, 0, colorBuffer);
    }

    @Override
    public void stopDrawing() {
        GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glDisableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glPopMatrix();
    }

    public void drawLine(Vec3d start, Vec3d end, float red, float green, float blue, float alpha) {
        vertexBuffer.clear();
        colorBuffer.clear();

        vertexBuffer.put((float) start.x).put((float) start.y).put((float) start.z);
        vertexBuffer.put((float) end.x).put((float) end.y).put((float) end.z);

        colorBuffer.put(red).put(green).put(blue).put(alpha);
        colorBuffer.put(red).put(green).put(blue).put(alpha);

        vertexBuffer.flip();
        colorBuffer.flip();

        GL11.glDrawArrays(GL11.GL_LINES, 0, 2);
    }
}

Далее ваша задача привязать модуль и при нажатии на клавишу (в моем примере на G) будет рисовка:

Код:
Expand Collapse Copy
  if (event.getKey() == Keyboard.KEY_G) {
     Vec3d cursorPos = Minecraft.getMinecraft().objectMouseOver.hitVec;
     SmartVectorRenderer renderer = new SmartVectorRenderer();
     renderer.startDrawing();
     renderer.drawLine(cursorPos, cursorPos.add(10, 0, 0), 1.0f, 0.0f, 0.0f, 1.0f);
     renderer.stopDrawing();
  }

P.s тот кто будет выебываться на мой божественный код, будет разъебан и разобран в щепки от лучших реверсеров UshastiySquad
крашдами, ты сегодня столько всего крутого слил, маладец, я твоя фанатка
 
итак я как истинный селфкодер решил подарить фаны для пастерков!

SmartVectorRenderer:

ДУРАЛЕЙ.lua:
Expand Collapse Copy
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.GL11;

public class SmartVectorRenderer extends Tessellator {
    private static final int BUFFER_SIZE = 1024;
    private final FloatBuffer vertexBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);
    private final FloatBuffer colorBuffer = GLAllocation.createDirectFloatBuffer(BUFFER_SIZE);

    public SmartVectorRenderer() {
        super(BUFFER_SIZE);
    }

    @Override
    public void startDrawing() {
        GL11.glPushMatrix();
        GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glVertexPointer(3, GL11.GL_FLOAT, 0, vertexBuffer);
        GL11.glEnableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glColorPointer(4, GL11.GL_FLOAT, 0, colorBuffer);
    }

    @Override
    public void stopDrawing() {
        GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
        GL11.glDisableClientState(GL11.GL_COLOR_ARRAY);
        GL11.glPopMatrix();
    }

    public void drawLine(Vec3d start, Vec3d end, float red, float green, float blue, float alpha) {
        vertexBuffer.clear();
        colorBuffer.clear();

        vertexBuffer.put((float) start.x).put((float) start.y).put((float) start.z);
        vertexBuffer.put((float) end.x).put((float) end.y).put((float) end.z);

        colorBuffer.put(red).put(green).put(blue).put(alpha);
        colorBuffer.put(red).put(green).put(blue).put(alpha);

        vertexBuffer.flip();
        colorBuffer.flip();

        GL11.glDrawArrays(GL11.GL_LINES, 0, 2);
    }
}

Далее ваша задача привязать модуль и при нажатии на клавишу (в моем примере на G) будет рисовка:

Код:
Expand Collapse Copy
  if (event.getKey() == Keyboard.KEY_G) {
     Vec3d cursorPos = Minecraft.getMinecraft().objectMouseOver.hitVec;
     SmartVectorRenderer renderer = new SmartVectorRenderer();
     renderer.startDrawing();
     renderer.drawLine(cursorPos, cursorPos.add(10, 0, 0), 1.0f, 0.0f, 0.0f, 1.0f);
     renderer.stopDrawing();
  }

P.s тот кто будет выебываться на мой божественный код, будет разъебан и разобран в щепки от лучших реверсеров UshastiySquad
Крашдами крякни VENUSWARE $$$ not var10000 moment paste
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Да он даже не мне, меня просто бесит у типа 4к сабов + дофига всего на сранной пасте exp 3.1 var10000#
а, хд, так пофиг, ну чит реально дерьмо, купили рекламу у академика (noad) и крутышки
а, хд, так пофиг, ну чит реально дерьмо, купили рекламу у академика (noad) и крутышки
блять, как академик может быть рекламой если это ютубер xd
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
можно на нл
 
Назад
Сверху Снизу