Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
engines:software_vs_glquake [2012/04/11 15:49] – added engines link Spiritengines:software_vs_glquake [2013/12/11 16:20] (current) SiPlus
Line 2: Line 2:
 Showing some differences between the original software rendered Quake (quake.exe, winquake.exe and derivates) and hardware-accelerated GLQuake (glquake.exe and derivates). Use one of the [[:quake:recommended_engines]]! Showing some differences between the original software rendered Quake (quake.exe, winquake.exe and derivates) and hardware-accelerated GLQuake (glquake.exe and derivates). Use one of the [[:quake:recommended_engines]]!
  
-Currently written in the viewpoint of Spirit who also currently is the sole author of these. Be awesome, remove all the "I"s and contribute more differences!+Currently written in the viewpoint of Spirit and SiPlus who also currently are the sole authors of these. Be awesome, remove all the "I"s and contribute more differences!
  
 ==== Texture filtering ==== ==== Texture filtering ====
Line 22: Line 22:
 The options available might vary based on your graphics hardware (and maybe the engine too?). This list  is taken from the [[http://ezquake.sourceforge.net/docs/?vars-texture-settings|ezQuake documentation]] (remember, ezQuake is <em>not</em> a singleplayer engine): The options available might vary based on your graphics hardware (and maybe the engine too?). This list  is taken from the [[http://ezquake.sourceforge.net/docs/?vars-texture-settings|ezQuake documentation]] (remember, ezQuake is <em>not</em> a singleplayer engine):
  
-  * GL_NEAREST -> //Point sampled (software-like). Lowest quality, highest performance.// +  * GL_NEAREST -> //Point sampled. Lowest quality, highest performance.// 
-  * GL_NEAREST_MIPMAP_NEAREST -> //GL_NEAREST but with a bit more quality for far objects.//+  * GL_NEAREST_MIPMAP_NEAREST -> //GL_NEAREST but with a bit more quality for far objects (software-like).//
   * GL_NEAREST_MIPMAP_LINEAR -> //GL_NEAREST but with even more quality for far objects.//   * GL_NEAREST_MIPMAP_LINEAR -> //GL_NEAREST but with even more quality for far objects.//
-  * GL_LINEAR -> //No blending.// +  * GL_LINEAR -> //Bilinear interpolation.// 
-  * GL_LINEAR_MIPMAP_NEAREST -> //Bilinear interpolation.//+  * GL_LINEAR_MIPMAP_NEAREST -> //Bilinear interpolation with a bit more quality for far objects.//
   * GL_LINEAR_MIPMAP_LINEAR -> //Trilinear interpolation. Highest quality, lowest performance.//   * GL_LINEAR_MIPMAP_LINEAR -> //Trilinear interpolation. Highest quality, lowest performance.//
  
Line 121: Line 121:
  
 {{:engines:nonpowerof2_texturedistortion.png?nolink&|}} {{:engines:nonpowerof2_texturedistortion.png?nolink&|}}
 +
 +==== Affine texture mapping ====
 +For higher performance, the software renderer doesn't perform perspective correction on alias model textures, causing noticeable artifacts on low-poly models.
 +
 +While the effects of this can be barely seen on monsters, they are very easy to spot on weapon view models.
 +
 +You can see screenshots of the issue in the "Non-square pixels" section.
 +
 +The 1st screenshot demonstrates affine texture mapping in software rendering mode. The texture looks skewed and is aligned differently on each pair of triangles. The pixels always have the same width and height, no matter how far they are from the player.
 +
 +The 2nd and 3rd screenshots show perspective-correct texture mapping. The metal shine is now a straight line, and distant pixels appear smaller than the close ones.
 +
 +On certain video cards, the effect can be re-enabled in GLQuake by setting the console variable "gl_affinemodels" to non-zero.