Image resize interpolation option!

Bumping again. This would be incredibly valuable for Islands. We currently are using 128x128 texture files to try to get the same visual effect as Nearest Neighbor on 16x16 game textures. Another pixel game that has a better visual effect said their solution is 1024x1024 texture files for 16x16 game textures. This is horribly inefficient and causes the client to download way more data than should be necessary. If we were to follow that same approach, we would force clients to download 4096x more data for block textures than is required.

To summarize our issue quickly: we are forced to decide between sharp graphics and performance. This feature would allow us to have both.

26 Likes

This is still a major issue. Roblox is a web-based platform, meaning download sizes are everything. Having to upload 1024x1024 images to represent 16x16 pixels is unacceptable.

30 Likes

Pardon the bump, but this was filed Jan '19, albeit in a different topic, though there does not appear to have been a situation update by @RoughSphereBlox since. See:


EDIT: Hereā€™s a useful addition to this request I would appreciate:

BlendIgnoreAlpha option. In a LOT of video games you get this appearance, albedo separates full alpha transparent from blend. Performant, quick to make, an interesting organic smoothing effect as well.
As a dropdown also including a sharp or inorganic corners option to alphaSeperate would improve the case for metal bars, tbh HL1 weird here:


(HL1)
image
(SMS)

10 Likes

Roblox really should take action fixing this issue as soon as possible. As days pass, there will be more and more images uploaded that are upscaled to 1024 pixels, further deteriorating player experience. This is also a comparably minor change (compared to Luau and everything else on the roadmap) that would have a high impact on network performance and visual presentation in the long run.

14 Likes

It would be awesome if nearest neighbor for images was added. Roblox has done a great job expanding into more realistic art styles, but I think they should also focus on making other styles possible. Adding nearest neighbor interpolation for images would enable developers to create pixel art games, which would diversify the appearance of games experiences on Roblox.

Also, many games that arenā€™t necessarily pixel art games would be able to make use of this. Things like pixelated weapon skins, vehicle wraps, signs, etc. could be added much easier.

If an Enum for image interpolation is added, it should be added to all instances with an image property. That includes:

  • ImageLabel
  • ImageButton
  • Decal
  • Texture
  • SurfaceAppearance
  • Sky
  • ImageHandleAdornment
  • ParticleEmitter
  • MeshPart
  • SpecialMesh
  • Thereā€™s probably others that I forgot

Most pixel art games are 2D, but Roblox doesnā€™t really have 2D. While they are rarer, there are some good examples of 3D pixel art games. These types of games could exist on Roblox if nearest neighbor was added.

22 Likes

Looks like theyā€™re rolling this out for UI objects:
https://developer.roblox.com/resources/release-note/Release-Notes-for-490

Unfortunately doesnā€™t include anything other than ImageObjects in UI by the looks of it, but thatā€™s still a lot of use cases related to this fulfilled already.

19 Likes

Still very sad to see this as an issueā€¦ 7 years later. Itā€™s not just the Image resizing that would help, it would be the ease. Itā€™s SUPER annoying upscaling all these images, and uploading them to Roblox, and even then the end result is still blurry. A whole genre of pixel art on Roblox is sort of being held back imo.

5 Likes

Image.ResampleMode exists. ImageLabel | Roblox Creator Documentation

We need the ability to resize images on parts too, if we are talking about decals.

1 Like

Yes! I would be talking about decals.

2 Likes

So is this incredibly simple easy feature ever being implemented? Ever?
They added this for GUIs back in 2021, and the entire thread for that announcement was people begging for the same thing to be added to 3D textures, but no dice.

As Grey mentioned, alpha testing would also be really nice, letā€™s say youā€™ve got a texture like this:
robloxtex1
Right now, if you put that into Roblox, it looks like this:


But for things like text and foliage, it would be really nice (and also, more performant, since thereā€™s no translucency calculations of any kind) to have this as an option:

Itā€™s honestly baffling how Roblox is a platform where you can instantly spawn a fully-simulated 3D physics object with one line, but yet in 2023 canā€™t do something as simple as change GL texture modes, or have multiple materials on a part/mesh.

(PS: If alpha testing is added, it would be nice to see a field to change the alpha threshold value, you could make some cool animated effects by tweening it back and forth)

7 Likes

I forgot about masked alpha being a thing.
Itā€™s a feature in Unreal Engine where you can set alpha blend mode to masked.

This makes it so pixels can only be fully solid or invisible but no in-between.
It is SIGNIFICANTLY cheaper than using standard alpha blending.

It reduces overdraw and other performance issues caused by drawing way too many alpha layers on top of each other.

Roblox literally has NO EXCUSE not to add this, mobile devices can support this without an issue.

In fact itā€™s an ancient rendering technique that was used before alpha blending existed to make things look semi-transparent (by using a noise or sine wave texture that gave a net/checkerboard pattern, in high density this would make things look semi-see-through).

This rendering method is ESSENTIAL for rendering foliage such as trees, bushes and grass.

Realistic trees in Roblox are currently ABSURDLY expensive to render thanks to overdraw and too many objects with alpha being drawn on top of each other.

To work around this performance issue Iā€™d have to use hand-crafted LODs for trees and disable alpha entirely for trees and bushes that are far away which even with hand-crafted LODs can look a little wonky at best or requires an entire switch of graphics style.

4 Likes

Itā€™s been 8 years and there is nothing about this being implemented yet?

This was already implemented in the Surface GUIā€™s, but now the problem is that for some reason this implementation isnā€™t done on SpecialMesh, MeshParts, Decals and Textures?

If thereā€™s is any engineer that can address this, can we have some response to whyā€™s this STILL not a thing for 4 (and potentially more) of those classes, or just classes that accept images in general?

If this was implemented for Surface GUIā€™s, why not other image containing classes?

1 Like
1 Like
  1. Years. Later. Roblox. WHAT ARE YOU DOING!!

I need to upscale images for it to sort of look like that, yet, upscaling images makes them a bigger file size, which in turn uploading them onto Roblox means Roblox needs more storage space for the huge sizes of these textures. It can be so much more efficient if they just did it. Devs could take advantage of that. And Iā€™m sure Roblox could too.

Like @nooneisback stated

Having to upload 1024x1024 images to represent 16x16 pixels is unacceptable.

Roblox is one of those platforms that can be so good, but just hate money. And it affects us! This page is a great example of this underlying issue. One upscaled texture is one thing, but a whole game? Gigabytes, when it couldā€™ve been a few megabytes.

4 Likes

Many years later and this still ainā€™t a think yet, thatā€™s crazy.
My current work around for this seems to have images be double their normal scale.

Upscaling a 32x32 image up to 64x64 should still give decent looking pixels without making them too blurry and without increasing memory usage by a ridiculous amount.

1024x1024 seems a bit overkill, from what Iā€™ve seen, Roblox texture filter is linear so it interpolates pixels between each other as far as I know and doubling the resolution of your pixel art somewhat solves the blur problem to a degree.

But itā€™s still very unnecessary that we have to do this.

3 Likes

Needed this today, was looking for a solution. Just to find out its impossible as of right now.

Does ImageLabel | Documentation - Roblox Creator Hub not satisfy this?

Can you use ImageLabels on a MeshPart?

If you want general texture support, you shouldā€™ve directly defined your use-case in your original reply. In the original posting itā€™s very clear the intention was for 2D elements and sprite based images. So itā€™s only natural to assume that is what you are backing up here. Defining what you are explicitly wanting from a feature like this helps garner more support for those who may come across your reply and not only that but gives a list of reasons for engineers to work on it.

To answer your question though; yes, you can, it just wonā€™t wrap/project onto the MeshPart itself.