Mesh Texture Pixel Art

GPU isn’t the only factor when it comes to system performance - RAM, CPU, optimization and total system temps are also a major factor in how well your system performs, don’t expect great performance if you’re gonna pair a 4090 with a Pentium 2.

@OP:
I’m pretty sure this isn’t compression but rather how the texture is displayed; iirc most textures are displayed with bilinear filtering, ImageLabels can display textures with nearest neighbor instead if the ResampleMode property is set to Pixelated (but this obviously only works for flat surfaces and guis).
I think you should instead focus on suggesting that the property get added to the rest of the image instances (aka; Texture and Decal) or supporting an existing thread for it.

8 Likes

I know that, but it still doesn’t seem to be the case for me. I can run most RTX games at upwards of 30 fps. I feel I should have way more fps in Roblox.

that is on Roblox, they limit the fps to 60.
no matter your gpu or cpu your fps will aways be 60.

4 Likes

i would love to know why the hell whe cant use pixel art textures on mesh since they released pixel art for UI/UX.

i’ve been wanting to make a game with the goal being low poly models and pixel art textures.
busteranim

11 Likes

A Roblox engineer addressed this question in the past iirc, the rendering pipeline between UI elements (such as ImageLabels, etc.) and mesh textures, decals, etc are simply too different for the same code to work on both of them.

4 Likes

Bumping this thread. This is an absolutely essential feature for a game engine that is missing from Roblox. I have to jump through hoops to get this art style working in Roblox.

I’ve seen many posts/comments calling this compression, but this is not the case. This is a filter being applied to the texture, and there needs to be a way to disable said filter.

Below is an example of the issue at play.


As you can see the texture is an absolute mess, and is bleeding horribly. A “solution” would be to upscale the texture to an unreasonable size, such as 1024x1024.

This is significantly less performant and increases load times. The textures are still bleeding as well.

There is already a way to disable this filter for UI instances such as image labels. Here is an example from my 2D Roblox game.

Implementing this property to objects such as SurfaceAppearances would open the door to a whole new art style on Roblox, and would would reduce the unhealthy behavior of upscaling textures as a band-aid fix.

23 Likes

Why would you use a CPU to render? Obviously the GPU is being used if you have the time to right click your taskbar.

image

4 Likes

It’s been 2 months, so I’m gonna try bumping this thread again.

The addition of a toggle to disable bilinear filtering on textures in the 3D worldspace is an essential feature for a game engine, and is absent from Roblox. The following is an example of a roadblock I’m running into right now. Having to resort to SurfaceGuis on every surface is completely tanking my project’s performance.


A large scale project of this art style in the current state of studio is almost completely impossible at this point. I’m desperately bumping this thread in hope of change.

18 Likes

I can agree with maple on this fact, and what he’s doing is manually changing the texture size to such absurb resolutions which allows for pixelated textures, but this manual fix is very taxing on roblox, so having an option to turn off this bilinear filtering would allow him to make these changes with a button instead of manually by hand which takes more time and computer resources.

1 Like

Gonna bump this again. Currently making a 3d pixel art retro shooter game and I just found out about this issue, I’ve made a lot of progress on my game, and I’m considering just scrapping it all because resampling mode still does not exist for mesh parts, textures, or surface appearances, etc… (Me and my 3d artist were shocked when we learned about this).

^ The only other method to avoid this that is currently present is:

image

Yay! No texture bleeding… but at what cost you may ask?

image

:exploding_head:

11 Likes

Bumping this once more. A feature like this would make it significantly easier to make pixel art style games on roblox. Like many visual effects right now, it just boils down to doing a hacky workaround to trick the engine into doing what you want (usually with a hefty performance sacrifice). Also, it would mean I wouldn’t have to upscale my textures to the maximum resolution to get them to not render blurry such that they take up roblox’s resources and lead to a good amount of memory bloat and longer load times.

4 Likes

Another Bump. We really need this roblox. Not only for GUIs, but any Instance that uses an ImageID or DecalID. Having to use workarounds that tank performance greatly isnt a good thing, and not all developers want to make realistic experiences. Sometimes simplicity is best, especially for small studios or solo developers.

4 Likes

Adding on another bump.

The fact that this feature hasn’t been implemented on all the other Instances that support images is mind-boggling. One simple feature can optimize so many games as loading big images that simulate pixels really take a toll on memory. SurfaceGuis are very inefficient and clip into eachother.

3 Likes

This has already been a feature request since like 2017 I believe if it isn’t earlier.

Roblox by default uses Linear texture filtering if I’m not mistaken which basically views all pixels as infinitely small points and draws smooth color gradients between each point.

The downside to this is that low-res images look HORRIBLY blurry and you may start noticing a very obvious “star” or “diamond” pattern.

We desperately need more texture filter options, most notably Nearest neighbor or Closest.
This basically displays textures with “no interpolation” so you get those sharp and crisp, square-shaped pixels.

Roblox, kindly, with all love, please make this a thing already.

16 Likes

Bumping this again. Desperately in need of these changes, this is the biggest limitation to me as a developer on this platform currently.

4 Likes

Just as a temporary fix for all you people out there who want pixelated textures.

In MOST cases, uploading a say… 128 x 128 pixel texture upscaled to 256 x 256 in PaintDotNet gives decent results.
You get some pixel bleeding but it is only visible from up close in most cases.

8 Likes

image_2024-05-14_103412007
On the left I turned my 34x34 into 340x340, on the right is the 34x34 in a surface GUI with the resample mode set to pixelated.

I think upscaling it looks better

7 Likes

bump!!
asdadasdasdasdasdazzzzzz

4 Likes

Bump!

This would be very useful

1 Like

bumbyyyyyyyyyyyyy. Would love to see this added

2 Likes