How to make PS1 pixelated style graphics in DarkPlaces/FTEQW
Author: kleskbyOld school shooters are always associated with pixelated low res textures and low-poly models. Many game designers use them because they are so much easier to make and create a nostalgic atmosphere.
To achieve PS1 graphic we will need to use the following cvars.
gl_texturemode // set texture filtering mode (GL_NEAREST, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR, etc); an additional argument 'force' forces the texture mode even in cases where it may not be appropriate
gl_texture_anisotropy // anisotropic filtering quality (if supported by hardware), 1 sample (no anisotropy) and 8 sample (8 tap anisotropy) are recommended values
r_viewscale // scaling factor for resolution of the fbo rendering method, must be > 0, can be above 1 for a costly antialiasing behavior, typical values are 0.5 for 1/4th as many pixels rendered, or 1 for normal rendering
r_fxaa // fast approximate anti aliasing
gl_texturemode regulates texture minifying function. The texture minifying function is used whenever the level-of-detail function used when sampling from the texture determines that the texture should be minified. There are six defined minifying functions. Two of them use either the nearest texture elements or a weighted average of multiple texture elements to compute the texture value. The other four use mipmaps. I recommend using GL_NEAREST with force flags so the pixelation also applies on shadows and lighting. However, you may find GL_LINEAR_MIPMAP_LINEAR more appropriate for your game. So I use:
gl_texturemode GL_NEAREST force
gl_texture_anisotropy regulates anisotropic filtering. It makes distant objects in games look sharper. It works by improving the appearance of textures viewed at a steep angle. I recommend values 1 or 8.
gl_texture_anisotropy 8
r_fxaa enables FXAA. FXAA smooths the images and removes all pixels. You want this to be disabled.
r_fxaa 0
r_viewscale regulates render resolution. If you want more pixels use something like 0.75
r_viewscale 0.75
So our final command list should be:
gl_texturemode GL_NEAREST force
gl_texture_anisotropy 8
r_fxaa 0
Tags: DarkPlaces, quake, tutorial