|This article or section is incomplete. It doesn't have all of the necessary core information on this topic. Please help the SRB2 Wiki bythis article.|
Software is the default graphics renderer for SRB2. Software contains a few visual fixes that OpenGL doesn't, however most of the community still prefers OpenGL due to OpenGL's other visual enhancements. Software is also officially supported, and you do not need an up-to-date graphics card/driver to use it.
Fixes that OpenGL Doesn't Have
- Software allows for the use of transparent walls; however, OpenGL has this fixed in the SVN version of SRB2, and in Version 1.1. Also, Software only allows for four levels of transparency, while OpenGL allows 256.
- When you are quickly moving downwards, SRB2 has a tendency to raise the camera above you. In OpenGL, this is easily noticed, as the sprites look like cardboard from above. However, in Software, it is not as noticable, as the sprite does not look like cardboard.
- In OpenGL, Colormaps are rendered a way so that FOFs in the sector of the colormap will act as if the bottom and sides of the FOF are colormapped. Also, in OpenGL, when a sprite is touching the ceiling of the affected sector, it is colormapped as well. Another bug with colormaps in OpenGL is that a sprite is colormapped if they are only slightly within the colormapped area. Finally, when a main texture faces a sector that has a colormap in it, the main texture will be affected. Software does not have these bugs. On the other hand, the SVN version of Version 1.09.4 and in Version 1.1, these bugs are fixed.
- In OpenGL, many people think the default Bilinear filtering looks "blurry." However, this can be fixed by adjusting the filter mode, and lots of people like it anyways.
However, software has its downsides as well.
- Software does not have lights.
- In Software, transparent walls can only have 4 levels of transparency, in OpenGL, they can have 256. (Although in the current version of 1.09.4, OpenGL does not usually render transparent walls anyway)
- Many people do not like the pixellation Software has, and unlike the Bilinear filtering problem in OpenGL, this is unfixable.
OpenGL® is a secondary renderer provided with SRB2 as a secondary option for rendering graphics. OpenGL contains a wide variety of graphic effects and displays while also resolving most problematic visual situations, such as missing linedef textures, in a more ideal fashion than Software mode. While OpenGL is unsupported, and may crash your computer, many users to this day use OpenGL as their preferred graphics mode with little to no renderer-related issues.
OpenGL Features & Extras
OpenGL, since it uses a graphic card to render the game, opens up many new possibilities in SRB2.
- OpenGL comes with a special set of lights that only display with the renderer. It offers two kinds, that can be used together, or separately. Dynamic lights, that reflect off walls and floors, and Coronas, that shine at a specific point from its source. These can be edited, and even added to sprites. For more information, see OpenGL Lights Tutorial. The size of the coronas can be increased or decreased in the options menu. By default, it draws the light at the normal size of a light's variable. SRB2 multiplies the corona size by the value of the light size option. Going into negative numbers increases the light number.
- OpenGL allows for special fog effects that can be increased or decreased in the Options menu, under 3D card options. It draws a fog in the distance, and draws it based on a certain color, both of which are able to be changed in the Options menu.
- OpenGL has many texture filtering modes that it uses. By default, OpenGL starts by rendering in Bilinear drawing. The other options are Linear Nearest, Nearest, and Trilinear. These can be changed in the options menu, and changing the filter settings.
- OpenGL contains other minor graphic options, such as Anisotropic settings, special Mouselook option, camera distance, and translucent wall settings.
There is much controversy when it comes to OpenGL. Most complaints are based on how OpenGL renders SRB2, and in some of its known glitches.
- OpenGL renders Colormaps in such a way that FOFs above the affected sector will render its bottom and side textures as if they were in the COLORMAP sector. In addition, sprites that are in contact with the ceiling of a sector with COLORMAP will also be rendered as if they were inside the sector using the effect.
- There are many complaints of how OpenGL handles sprites as well. When a player is falling, for example, the camera in SRB2, when the player is falling, can not keep up. In software, this isn't noticable. But in OpenGL, this causes SRB2 to "flatten" the sprite in such a way that it becomes closer to a thin line than a true sprite. It is often common for the sprites to be likened to "cardboard" because of this.
- OpenGL lights are also a source of controversy. Some people like the lights, others do not. Some people also prefer one type of light, but not another. The lights are often called "unnatural" and are said not to look right.
- Improperly configured or outdated drivers can cause OpenGL to not work properly.
- OpenGL's default "Bilinear filtering" is often disliked because it looks "blurry" and an unnatural effect.