Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Не определяет глубину объекта ( GL 11 )

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
24 Июл 2022
Сообщения
283
Реакции
2
1715870946115.png
Я сделал партиклы, все нормасик но не могу задать глубину я хз почему она не работает! Впервые с этим столкнулся!
///CODE


CODE:
Expand Collapse Copy
   RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);
            mc.getTextureManager().bindTexture(new ResourceLocation(resourceLocation.getPath()));
            buffer.begin(GL11.GL_POLYGON, DefaultVertexFormats.POSITION_COLOR_TEX_LIGHTMAP);
            buffer.pos(x, y + height, 0).color(color).tex(0, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y + height, 0).color(color2).tex(1, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y, 0).color(color3).tex(1, 0).lightmap(0, 240).endVertex();
            buffer.pos(x, y, 0).color(color4).tex(0, 0).lightmap(0, 240).endVertex();
            tessellator.draw();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
 
:roflanBuldiga:
Посмотреть вложение 277035 Я сделал партиклы, все нормасик но не могу задать глубину я хз почему она не работает! Впервые с этим столкнулся!
///CODE


CODE:
Expand Collapse Copy
   RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);
            mc.getTextureManager().bindTexture(new ResourceLocation(resourceLocation.getPath()));
            buffer.begin(GL11.GL_POLYGON, DefaultVertexFormats.POSITION_COLOR_TEX_LIGHTMAP);
            buffer.pos(x, y + height, 0).color(color).tex(0, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y + height, 0).color(color2).tex(1, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y, 0).color(color3).tex(1, 0).lightmap(0, 240).endVertex();
            buffer.pos(x, y, 0).color(color4).tex(0, 0).lightmap(0, 240).endVertex();
            tessellator.draw();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
Ты думаешь тебе помогут?
Посмотреть вложение 277035 Я сделал партиклы, все нормасик но не могу задать глубину я хз почему она не работает! Впервые с этим столкнулся!
///CODE


CODE:
Expand Collapse Copy
   RenderSystem.pushMatrix();
            RenderSystem.disableLighting();
            RenderSystem.depthMask(false);
            RenderSystem.enableBlend();
            RenderSystem.shadeModel(7425);
            RenderSystem.disableCull();
            RenderSystem.disableAlphaTest();
            RenderSystem.blendFuncSeparate(770, 1, 0, 1);
            mc.getTextureManager().bindTexture(new ResourceLocation(resourceLocation.getPath()));
            buffer.begin(GL11.GL_POLYGON, DefaultVertexFormats.POSITION_COLOR_TEX_LIGHTMAP);
            buffer.pos(x, y + height, 0).color(color).tex(0, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y + height, 0).color(color2).tex(1, 1 - 0.01f).lightmap(0, 240).endVertex();
            buffer.pos(x + width, y, 0).color(color3).tex(1, 0).lightmap(0, 240).endVertex();
            buffer.pos(x, y, 0).color(color4).tex(0, 0).lightmap(0, 240).endVertex();
            tessellator.draw();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableBlend();
            RenderSystem.enableCull();
            RenderSystem.enableAlphaTest();
            RenderSystem.depthMask(true);
            RenderSystem.popMatrix();
Java:
Expand Collapse Copy
RenderSystem.pushMatrix();
RenderSystem.disableLighting();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); // Настройка функции смешивания
Minecraft.getInstance().getTextureManager().bindTexture(new ResourceLocation(resourceLocation.getPath()));
BufferBuilder buffer = Tessellator.getInstance().getBuffer();
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR_TEX_LIGHTMAP);
buffer.pos(x, y + height, 0).color(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()).tex(0, 1 - 0.01f).lightmap(0, 240).endVertex();
buffer.pos(x + width, y + height, 0).color(color2.getRed(), color2.getGreen(), color2.getBlue(), color2.getAlpha()).tex(1, 1 - 0.01f).lightmap(0, 240).endVertex();
buffer.pos(x + width, y, 0).color(color3.getRed(), color3.getGreen(), color3.getBlue(), color3.getAlpha()).tex(1, 0).lightmap(0, 240).endVertex();
buffer.pos(x, y, 0).color(color4.getRed(), color4.getGreen(), color4.getBlue(), color4.getAlpha()).tex(0, 0).lightmap(0, 240).endVertex();
Tessellator.getInstance().draw();
RenderSystem.depthMask(true);
RenderSystem.disableBlend();
RenderSystem.enableLighting();
RenderSystem.popMatrix();
// 100% решение проблемы
// glubina.rabotay
 
Последнее редактирование:
Нужно проверить, правильно ли вы настроили тест глубины GL11.glEnable(GL11.GL_DEPTH_TEST). GL11.glDepthFunc(GL11.GL_LEQUAL) можно использовать для того, чтобы фрагменты, расположенные ближе к камере, отрисовывались лучше, чем фрагменты, расположенные дальше. Еще один момент, который следует учитывать, - это порядок отрисовки частиц. Рисуете ли вы их после отрисовки других непрозрачных объектов? Если частицы нарисованы до непрозрачных объектов, они могут появиться поверх них независимо от проверки глубины.
 
Нужно проверить, правильно ли вы настроили тест глубины GL11.glEnable(GL11.GL_DEPTH_TEST). GL11.glDepthFunc(GL11.GL_LEQUAL) можно использовать для того, чтобы фрагменты, расположенные ближе к камере, отрисовывались лучше, чем фрагменты, расположенные дальше. Еще один момент, который следует учитывать, - это порядок отрисовки частиц. Рисуете ли вы их после отрисовки других непрозрачных объектов? Если частицы нарисованы до непрозрачных объектов, они могут появиться поверх них независимо от проверки глубины.
Чатгпт кормит?
 
Назад
Сверху Снизу