Как сделать текст с задним фоном (drawString с drawRect)

Версия Minecraft
1.12.2
API
Forge
12
2
0
1617268972313.png
На подобие этого. И ещё drawRect сзади должен иметь прозрачность.
Спасибо заранее.
 
Решение
не нравится? ну держи
GL:
glEnable(GL_BLEND)
glEnable(GL_ALPHA_TEST)
glEnable(GL_GREATER, 0.01F)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
glColor4d(0, 0, 0, 0.25)
glBegin(GL_QUADS)
glVertex3d(x, y, 0)
glVertex3d(x + width, y, 0)
glVertex3d(x + width, y + height, 0)
glVertex3d(x, y + height, 0)
glEnd()
glColor4d(1, 1, 1, 1)
//рисуешь текст
glDisable(GL_BLEND)

только потом не ной если не понятно, ты должен понимать что если не нравится думать самому, благодаря таким как я придется думать самому потому-что это чистый GL, а майнкрафт уже на чистом гл будет делать пук-пук

чел, 2 строчки кода, я сам решил

Java:
drawRect(0, 0, fr.getStringWidth(Main.NAME)+3, fr.FONT_HEIGHT+3, 0x7F000000)...
Есть два варианта
1)
Выключить текст глубины.
Сначала нарисовать фон, потом нарисовать текст
2)
Нарисовать фон на большей(или меньшей, попробуй обе) глубине(z-координата), чем текст
 
Последнее редактирование:
не нравится? ну держи
GL:
glEnable(GL_BLEND)
glEnable(GL_ALPHA_TEST)
glEnable(GL_GREATER, 0.01F)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
glColor4d(0, 0, 0, 0.25)
glBegin(GL_QUADS)
glVertex3d(x, y, 0)
glVertex3d(x + width, y, 0)
glVertex3d(x + width, y + height, 0)
glVertex3d(x, y + height, 0)
glEnd()
glColor4d(1, 1, 1, 1)
//рисуешь текст
glDisable(GL_BLEND)

только потом не ной если не понятно, ты должен понимать что если не нравится думать самому, благодаря таким как я придется думать самому потому-что это чистый GL, а майнкрафт уже на чистом гл будет делать пук-пук
 
не нравится? ну держи
GL:
glEnable(GL_BLEND)
glEnable(GL_ALPHA_TEST)
glEnable(GL_GREATER, 0.01F)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
glColor4d(0, 0, 0, 0.25)
glBegin(GL_QUADS)
glVertex3d(x, y, 0)
glVertex3d(x + width, y, 0)
glVertex3d(x + width, y + height, 0)
glVertex3d(x, y + height, 0)
glEnd()
glColor4d(1, 1, 1, 1)
//рисуешь текст
glDisable(GL_BLEND)

только потом не ной если не понятно, ты должен понимать что если не нравится думать самому, благодаря таким как я придется думать самому потому-что это чистый GL, а майнкрафт уже на чистом гл будет делать пук-пук
Матвей,ты конечно красава,но теселятор топ!
 
не нравится? ну держи
GL:
glEnable(GL_BLEND)
glEnable(GL_ALPHA_TEST)
glEnable(GL_GREATER, 0.01F)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
glColor4d(0, 0, 0, 0.25)
glBegin(GL_QUADS)
glVertex3d(x, y, 0)
glVertex3d(x + width, y, 0)
glVertex3d(x + width, y + height, 0)
glVertex3d(x, y + height, 0)
glEnd()
glColor4d(1, 1, 1, 1)
//рисуешь текст
glDisable(GL_BLEND)

только потом не ной если не понятно, ты должен понимать что если не нравится думать самому, благодаря таким как я придется думать самому потому-что это чистый GL, а майнкрафт уже на чистом гл будет делать пук-пук

чел, 2 строчки кода, я сам решил

Java:
drawRect(0, 0, fr.getStringWidth(Main.NAME)+3, fr.FONT_HEIGHT+3, 0x7F000000);
fr.drawStringWithShadow(Main.NAME,2,2,0xFFFFFF);
 
Назад
Сверху