Jump to content

[Solved][1.10.2]Question about Gui.drawScaledCustomSizeModalRect


bxzsj

Recommended Posts

I want to draw a texture that 40*20 to 10*10,tried to use GlStateManager.scale but got a wrong display,and then I found this 

drawScaledCustomSizeModalRect(int x, int y, float u, float v, int uWidth, int vHeight, int width, int height, float tileWidth, float tileHeight)

but I don't know what those parameters mean.

Could some one tell me how to use it?

My texture(png) is 256*256 and texture offsetX is 0,offsetY is 20, width and height to display is 40 * 20 and zoom to 10*10.

Edited by bxzsj
solved
Link to comment
Share on other sites

I think that its used to draw text

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

did this inside my drawGuiContainerBackgroundLayer()

drawModalRectWithCustomSizedTexture(20, 20, 0, 0, width, height, 10, 10);

5aacb9782a9b2_ScreenShot2018-03-17at5_44_44pm.thumb.png.cc465ebd6dc0821e2b8df39966fa4ec7.png

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

17 minutes ago, Cadiboo said:

did this inside my drawGuiContainerBackgroundLayer()

drawModalRectWithCustomSizedTexture(20, 20, 0, 0, width, height, 10, 10);

5aacb9782a9b2_ScreenShot2018-03-17at5_44_44pm.thumb.png.cc465ebd6dc0821e2b8df39966fa4ec7.png

I just tried it , but this method zoom a whole texture(256*256) to 10*10

Link to comment
Share on other sites

Just now, bxzsj said:

I just tried it , but this method zoom a whole texture(256*256) to 10*10

so just modify it to fit your needs

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

I think that both drawScaledCustomSizeModalRect and drawModalRectWithCustomSizedTexture take an entire texture and scale it

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

1 minute ago, Cadiboo said:

I think that both drawScaledCustomSizeModalRect and drawModalRectWithCustomSizedTexture take an entire texture and scale it

Do this defind the location:

(double)(x + 0), (double)(y + height), (double)this.zLevel

and this defind texture area to display: ?

.tex(((textureX + 0) * 0.00390625F), ((textureY + height) * 0.00390625F))

 

Link to comment
Share on other sites

7 minutes ago, Cadiboo said:

take an entire texture and scale it

I think that you can only scale an entire texture (set with this.mc.getTextureManager().bindTexture()), not a part of a texture

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

2 minutes ago, bxzsj said:

(double)this.zLevel

Z level sets what the texture is rendered above, for example items are rendered at zLevel 250 and Tooltips are rendered at zLevel 300

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

1 hour ago, Cadiboo said:

so just modify it to fit your needs

Thank you, I defind a method :

public void drawZoomTexturedModalRect(int x, int y, int textureX, int textureY, int width, int height, float textureAreaWidth, float textureAreaHeight, float textureWidth, float textureHeight)
{
	float f = 1.0F / textureWidth;
	float f1 = 1.0F / textureHeight;
	Tessellator tessellator = Tessellator.getInstance();
	VertexBuffer vertexbuffer = tessellator.getBuffer();
	vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
	vertexbuffer.pos((double) x, (double) (y + height), (double) this.zLevel).tex((double) (textureX * f), (double) ((textureY + textureAreaHeight) * f1)).endVertex();
	vertexbuffer.pos((double) (x + width), (double) (y + height), (double) this.zLevel).tex((double) ((textureX + textureAreaWidth) * f), (double) ((textureY + textureAreaHeight) * f1)).endVertex();
	vertexbuffer.pos((double) (x + width), (double) y, (double) this.zLevel).tex((double) ((textureX + textureAreaWidth) * f), (double) (textureY * f1)).endVertex();
	vertexbuffer.pos((double) x, (double) y, (double) this.zLevel).tex((double) (textureX * f), (double) (textureY * f1)).endVertex();
	tessellator.draw();
}

it works.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.