19
$\begingroup$

I have a model that is simple and uses low-resolution textures. I'd like to be able to disable the texture filtering so that the textures look sharp and pixels stand out.

An ideal answer would explain how to do this in not only the regular 3d view, but also in renders and preferably also in texture previews.

$\endgroup$

3 Answers 3

21
$\begingroup$

For the 3D view go to:

  1. User preferences > System.
  2. Then under the OpenGL sub header, you will find "MipMaps" make sure that box is unchecked.

For Blender-Internal go to:

  1. Texture Buttons.
  2. Image Sampling Panel.
  3. Toggle MIP Map button.

Update

As of blender 2.71 texture nodes now have an option to change the interpolation method:

Using Closest will keep the pixels sharp

Using Closest will keep the pixels sharp.


Old Answer

For cycles, this is a needed feature. Here's a workaround (32 is the size of the texture) :

screenshot2

$\endgroup$
4
  • $\begingroup$ That's exactly what I was looking for. Thanks! $\endgroup$
    – MrFlamey
    Commented Jun 10, 2013 at 17:15
  • $\begingroup$ Though some kind of global (not per material) option to disable filtering in renders would also be awesome. $\endgroup$
    – MrFlamey
    Commented Jun 10, 2013 at 17:16
  • $\begingroup$ It's interesting the Old answer... I tried to do it with a Blender Internal material to use in Game Engine, but "Separate XYZ" node doesn't exist in that material system. Is there any other way to separate those channels to make that math? (this would be for appling the technique for just one material). $\endgroup$
    – Mario Mey
    Commented Jan 21, 2018 at 14:41
  • $\begingroup$ It's interesting the Old answer... I tried to do it with a Blender Internal material to use in Game Engine, but "Separate XYZ" node doesn't exist in that material system. Is there any other way to separate those channels to make that math? (this would be for appling the technique for just one material). $\endgroup$
    – Mario Mey
    Commented Jan 21, 2018 at 14:47
3
$\begingroup$

I'm not sure if it is possible to do in the 3D view, but I certainly know how to do it in the (Blender Internal) texture settings(I did this in my Blender Minecraft Tutorial).

Steps:

  1. Change the filter type to Box
  2. Turn off interpolation
  3. Turn off mip-map
  4. Set the filter size to 0.1(the lowest possible value)
$\endgroup$
4
  • $\begingroup$ Thanks. However, this didn't give me perfectly pixellated results. It was close, and not blurry at least, but not pixellated. $\endgroup$
    – MrFlamey
    Commented Jun 10, 2013 at 17:13
  • $\begingroup$ Really? Can I see a screenshot of the render? Can the filter size go any lower? $\endgroup$
    – CharlesL
    Commented Jun 10, 2013 at 17:15
  • $\begingroup$ I'm not sure I can get this image to work inline correctly in a comment, but I uploaded a gif of the filtering modes. Note that the final unfiltered frame is just the image resized in Photoshop by 1650% using nearest filtering. The original texture is only 128x128, so filtering makes it look terrible. Blender filtering $\endgroup$
    – MrFlamey
    Commented Jun 13, 2013 at 10:35
  • $\begingroup$ Ah ok, I see what you mean. I've always just set the filter size to a really low value. Sorry about that. $\endgroup$
    – CharlesL
    Commented Jun 13, 2013 at 12:35
0
$\begingroup$

I understand you are asking about rendering and 3d View, but if someone is looking for achieving this in Game Engine using BlenderPlayer command line, you have to run file as:

blenderplayer -g nomipmap = 1 file.blend

If you want to run game inside Blender, the "MipMaps" unchecked in Preferences works (as OwMyWrists said).

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .