ResampleMode - New Property for Image GUI Objects

How did you put it on a part? i wanna know that’s pretty rad

Agreed! it would stop the annoying blur that always appears

They used SurfaceGUI to make it on a part.

3 Likes

There have been features released with higher impact, but I think this change is still a high-impact one that would have only taken a week or a few days to implement.

2 Likes

Please feel free to DM me exactly about your real-world software engineering experience and your plan on how this would have been implemented, I’d be really curious to understand how you came to the conclusion!

7 Likes

I don’t think I will use this future much but still I love the idea as it will speed up things which require something to be pixelized.

Is this just going to be for Image GUI objects or will it be added to textures as well? If it is just Image GUI objects I suggest adding it to textures as well as I could see a large amount of people use that as well.

2 Likes

Yes, if you talk in raw lines of code, implementing something like this is often not that hard. But that’s only one piece of the equation. There’s a ton of things that have to be considered:

  • How do we name the API parts such that they’re as clear and understandable as possible?

  • Is it something we can support going forwards? Everything Roblox adds is something we intend to support for many years to come, so we have to be careful that that is possible for things we add.

  • Will it limit future API design space? There’s lots of quick and easy APIs that we could add which would be convenient but could cause problems down the road by preventing us from implementing even better APIs in the future.

  • Does it encourage developers using problematic design or coding patterns? A good example of this from before we had as strict processes as we do now is the parent argument of Instance.new. That feature is extremely convenient… however, it’s also a huge trap for developers to fall into, because it’s almost always wrong to use. (Thanks to changing the properties of something you’ve already parented to the hierarchy being much more expensive than setting all the properties first and then parenting the object)

17 Likes

Is this the reason for things like Vector3:GetComponents() and Vector2:FuzzyEq() not existing? Or am I just misunderstanding what you are trying to say?

2 Likes

Those cases are even another aspect: API pollution. If only a very small number of people will end up using a method, and it’s not essential to write clean performant code, then it may not be worth having. Every method we add is more clutter that you have to sift through when trying to find what you want on the DevHub, so there has to be a certain bar of usefulness before we add something.

GetComponents is important on CFrame because there’s no performant way to do something similar. For Vector accessing X/Y/Z is already very fast so there’s much less incentive to have it there.

8 Likes

So considering the above replies, should we expect this feature to come to textures, decals etc. in 1-2 years?
Or would it come out quicker since most of the questions you have to ask have already been discussed when creating this feature?
This may have sounded a bit rude, but I’m sure a lot of people would like to know if they should just move onto engines that already have this feature rather than wait a really long time.

2 Likes

I love this! I’ve been waiting for something like this for such a long time. Definitely my favorite update in a while. It’ll optimize pixel art games so well.

It might be too early to anticipate this, but if/when this ever comes to decals and textures, would this also affect mipmapping? I’d personally love it if the textures stayed pixelated from far distances, it’d really sell a retro aesthetic. But I don’t know how hard that would be to implement.

4 Likes

Love this change! Finally pixel art can look pixel perfect in Roblox. Can’t wait to try it out :eyes:

2 Likes

Holy moly, this is massive!
I can’t wait to see devs using this in their games!

2 Likes

It has been said a hundred times already by other people, but I really hope this feature will be coming to Textures/Decals/Beams in the near future. Roblox not having a pixelated setting for these is honestly super annoying as someone trying to make a 3D game with sprite textures.

4 Likes

How performant would this be when used to mimic pixelated textures, but using ImageLabels, say using around 1000 images? (I know this is probably coming to textures at some point in the future, but for now i’m going to be using ImageLabels in place of texture objects for this effect)

1 Like


Why is the resized image so blurry??

6 Likes

It’s not that blurry, but yes I can see the very slight pixel ghosting

2 Likes

I need to know; can I have thousands of parts using SurfaceGuis with this property?

Since it’s not planned to have it for decals or textures anytime soon…

4 Likes

Even though roblox would change a lot if it worked for textures and decals

1 Like

Okay? But is it too performance heavy to have thousands of SurfaceGuis?

1 Like