Simple texture viewer

At our company, we often process many textures and maps coming either from a 3d artist or one of the sharing sites.

We needed a way to quickly check how the maps will look in the context of a threejs scene and find the optimum material settings. It also had to be simple enough so that a non-technical person could use it.

We didn’t find anything fitting these criteria and ended up creating our own. I’m sharing it here for others:


Thanks for sharing your work. The viewer is has easy to understand interface.

I’m not sure whether you accept suggestions for improvements. If you do, I’ll list them between the two lines.

Disclaimer: most of these observations might be caused by my lack of knowledge about the full functionality of the viewer; also most of the suggestions might be for features that you do not need.

  • The labels in the control panel are truncated. This might confuse inexperienced users and is not considered quite pretty.

  • It could be good if the background can be changed (or just the environment map to be shown). Sometimes it is better to inspect textures against specific color/light environment, like office environment, midnight sky, etc…

  • Apart from reloading the page, I found no way to reset the parameters.

  • The values for texture repeats could be fractions - sometimes this is very useful feature.

  • Is it possible to add light maps, bump maps?

  • When a texture is missing, its parameters could be hidden

  • I’m curious what is the workflow when users finally pick the best parameters – do they copy the values by hand, or there is some export function that generates the material parameters as string?

  • What is the expected behaviour of opacity parameter? From 0 to 1 it makes no change to the image.

  • How do you test equirectangular textures if there is only box geometry?

  • Changing the number of subdivisions of the box does not change the UV coordinates, so there is no change in the image. What is their purpose?


Hey @PavelBoytchev, absolutely, please do.

@PavelBoytchev thank you for your suggestions, I will use some of them in the next release.

The purpose of changing the subdivisions is to find out how many of them are required for the displacement map to have the desired effect.