<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
		<id>https://wiki.unvanquished.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Illwieckz</id>
		<title>Unvanquished - User contributions [en-gb]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.unvanquished.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Illwieckz"/>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/wiki/Special:Contributions/Illwieckz"/>
		<updated>2026-10-18T13:07:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.3</generator>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9715</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9715"/>
				<updated>2026-10-15T21:47:08Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users with old systems may still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Builders&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9714</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9714"/>
				<updated>2026-10-15T21:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Builders&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9713</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9713"/>
				<updated>2026-10-15T21:41:38Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Buildsystems&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9712</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9712"/>
				<updated>2026-10-15T21:40:38Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Operating systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Build systems&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9711</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9711"/>
				<updated>2026-10-15T21:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Operating Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Build systems&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9710</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9710"/>
				<updated>2026-10-15T21:40:08Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Build systems&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9709</id>
		<title>Version limits</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Version_limits&amp;diff=9709"/>
				<updated>2026-10-15T21:39:19Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are documented versions of dependencies (systems, tools, libraries, languages…) we can't require a newer version without actually deciding to raise our requirement, with reasons why we currently have such limitations.&lt;br /&gt;
&lt;br /&gt;
It means pull requests should not require something higher than that unless the purpose of the pull request is to raise our requirements (because time have passed and we can raise them, or something like that).&lt;br /&gt;
&lt;br /&gt;
It also helps to know where efforts are required if we actually need to raise such limitations.&lt;br /&gt;
&lt;br /&gt;
== Version relations ==&lt;br /&gt;
&lt;br /&gt;
It is important to make sure the released engine doesn't require something higher than the updater, but it's possible to keep the released engine requirement lower than the updater, because users with old systems may still use the unizip. The same can be said for build dependencies that can be lower than the release dependencies because users may with old systems still build the game themselves.&lt;br /&gt;
&lt;br /&gt;
To sum it up: {{code|updater dependency version ≥ engine release dependency version ≥ engine build dependency version}}.&lt;br /&gt;
&lt;br /&gt;
== Version upper limits ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Component&lt;br /&gt;
! Dependency&lt;br /&gt;
! Version&lt;br /&gt;
! Why&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Systems&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Debian || 12 || Used to build the Linux releases in docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || macOS || 10.14 || Current minimal requirement for OpenAL, we better keep it as low as possible.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Debian || 12 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || Windows || {{TODO|?}}&lt;br /&gt;
| Because Windows users usually stick with the preinstalled Windows.&lt;br /&gt;
|-&lt;br /&gt;
| Updater || macOS || 10.14 || Because of the released engine.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Compilers&lt;br /&gt;
|-&lt;br /&gt;
| Engine || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || AppleClang || 14 || The highest AppleClang compatible with the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Clang || 14 || Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || GCC || 12 || The Linux compiler in Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || MinGW || 14 || The MinGW compiler in Debian 13.&lt;br /&gt;
|-&lt;br /&gt;
| Engine deps || AppleClang || any&lt;br /&gt;
| The requirement is &amp;lt;code&amp;gt;MACOSX_DEPLOYMENT_TARGET=10.14&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Game || Clang || 3.6 || Because of PNaCl 4.2.1.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Build systems&lt;br /&gt;
|-&lt;br /&gt;
| Any || CMake || 3.28.6 || The highest version of CMake known to be running in the Darling docker.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Libraries&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc || 2.36 || Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || Linux glibc++ || 12.2.0 || Because of Debian 11.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Languages&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C || 17&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Engine || C++ || 20&lt;br /&gt;
| Because of AppleClang 14.&lt;br /&gt;
|-&lt;br /&gt;
| Game || C || 99&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || C++ || 14&lt;br /&gt;
| Because of Clang 3.6 (PNaCl 4.2.1).&lt;br /&gt;
|-&lt;br /&gt;
| Game || Lua || 5.4&lt;br /&gt;
| Because of the Lua version we embed.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Python || 3.11.2&lt;br /&gt;
| Because of Debian 12.&lt;br /&gt;
|-&lt;br /&gt;
| Any || Bash || 3.2.57 || Because of the obsolete macOS bash (Apple will never update it).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Tools/Breakpad&amp;diff=9708</id>
		<title>Tools/Breakpad</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Tools/Breakpad&amp;diff=9708"/>
				<updated>2026-10-12T06:39:29Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Cross symbolizer compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tools]][[Category:Native Client]]{{DISPLAYTITLE:Dæmon Breakpad &amp;amp;mdash; Enhanced Breakpad Crash Reporting Library}}&lt;br /&gt;
Breakpad is a set of client and server components which implement a crash-reporting system, originally developed by Google.&lt;br /&gt;
&lt;br /&gt;
Dæmon Breakpad is an enhanced version of Google Breakpad providing wider platform compatibility and additional executable and symbol formats while incorporating upstream changes.&lt;br /&gt;
&lt;br /&gt;
The {{game}} uses Breakpad for generating and analyzing crash dumps from both the {{engine}} and {{nacl}} gamelogic modules. &lt;br /&gt;
&lt;br /&gt;
A crash dump is a file that is generated when the program crashes, which can be analyzed by developers to find out why the crash occurred. Breakpad is currently available in Daemon for the Windows (if built with MinGW) and Linux engine code, and the NaCl gamelogic on any platform.&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Breakpad cannot be used for &amp;lt;i&amp;gt;native executable&amp;lt;/i&amp;gt; gamelogic modules. But (assuming a Linux server) you may use traditional core dumps instead. OR, you can use the &amp;lt;code&amp;gt;vm.cgame.type&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vm.sgame.type&amp;lt;/code&amp;gt; cvars to start up gdbserver.&lt;br /&gt;
{{TODO|inline=true|Explain how to use this.}}}}&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
&lt;br /&gt;
The Breakpad source repository is: {{url|github.com/DaemonEngine/breakpad}}&lt;br /&gt;
&lt;br /&gt;
Dæmon's Breakpad fork is based on {{url|github.com/jon-turney/google-breakpad}}. Jon Turney's version adds MinGW support. It is in turn a fork of Chromium's Breakpad {{url|chromium.googlesource.com/breakpad/breakpad}}. Improvements from Google upstream are merged from time to time. We also implement our own improvements, like {{nacl}} compatibility and extended cross-platform support.&lt;br /&gt;
&lt;br /&gt;
== Dæmon Breakpad enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== MinGW and DWARF5 compatibility ===&lt;br /&gt;
&lt;br /&gt;
The Dæmon Breakpad adds MinGW support to Google Breakpad, based on Jon Turney's patches, with merged Google upstream adding support for DWARF5 debugging information format. It retains the support for systems already supported by the Google Breakpad upstream.&lt;br /&gt;
&lt;br /&gt;
===Saigo-built nexe compatibility===&lt;br /&gt;
&lt;br /&gt;
The Dæmon Breakpad adds support for {{nacl}} {{code|.nexe}} binaries built with the {{saigo}}. The {{code|linux/dump_syms}} tool can extract symbols from those nexe. Don't mind the “linux” directory, it's an ELF tool.&lt;br /&gt;
&lt;br /&gt;
===Multiplatform ELF symbolizer===&lt;br /&gt;
&lt;br /&gt;
The {{code|linux/dumps_syms}} tool can build for and run on Linux, macOS, FreeBSD and Windows (when built with MinGW). It can then symbolize ELF binaries on all those platforms, including Linux binaries, FreeBSD binaries, and NaCl binaries.&lt;br /&gt;
&lt;br /&gt;
==Cross symbolizer compatibility==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! ↓ Host \ Binary →&lt;br /&gt;
! NaCl ELF !! Linux ELF !! FreeBSD ELF !! macOS Mach-O !! Windows PE+DWARF (MinGW)&lt;br /&gt;
|-&lt;br /&gt;
! Linux&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || ✅️ || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! FreeBSD&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || ✅️ || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! macOS&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! Windows (MinGW)&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || || ✅️&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Engine build configuration==&lt;br /&gt;
&lt;br /&gt;
The {{code|USE_BREAKPAD}} CMake option controls whether Breakpad support is built into the engine. It is disabled by default because Breakpad is primarily useful for publicly distributed release binaries, not people who build and run the code themselves. Note that NaCl crash dump support is always built in, regardless of options.&lt;br /&gt;
&lt;br /&gt;
For an engine built with Breakpad support, the &amp;lt;code&amp;gt;common.breakpad.enabled&amp;lt;/code&amp;gt; cvar turns it on or off.&lt;br /&gt;
&lt;br /&gt;
The cvar can only be set via the command line, like &amp;lt;code&amp;gt;./daemon -set common.breakpad.enabled 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==For users: reporting a crash==&lt;br /&gt;
&lt;br /&gt;
The crash dumps are stored in the homepath under the &amp;lt;code&amp;gt;crashdump/&amp;lt;/code&amp;gt; directory. Sort by date to find the most recent one and make sure it matches the date/time when the crash occurred. Send the .dmp file to someone on the Unvanquished development team.&lt;br /&gt;
&lt;br /&gt;
==For developers: how to trace a crash==&lt;br /&gt;
&lt;br /&gt;
=== 1. Getting the tools ===&lt;br /&gt;
&lt;br /&gt;
The Breakpad repository for the {{engine}} is at {{url|github.com/DaemonEngine/breakpad}}. If you have already checked out {{code|Daemon}}, then it is located in the &amp;lt;code&amp;gt;libs/breakpad/&amp;lt;/code&amp;gt; submodule there. cd into this repo.&lt;br /&gt;
&lt;br /&gt;
=== 2. Get symbols ===&lt;br /&gt;
&lt;br /&gt;
==== 2a. Symbols for an official Unvanquished release ====&lt;br /&gt;
&lt;br /&gt;
If you are debugging an official release binary, you don't need to (and can't) generate symbols yourself -- the Unvanquished release script handles this. In the Unvanquished unizip/torrent (or updater installation directory), symbol files are found in the &amp;lt;code&amp;gt;symbols_${VERSION}.zip&amp;lt;/code&amp;gt; archive. Simply extract the zip somewhere.&lt;br /&gt;
&lt;br /&gt;
==== 2b. Generating your own symbols ====&lt;br /&gt;
&lt;br /&gt;
To produce symbols, you need a binary with debug info. For MinGW, the binary additionally needs to have been built with the {{code|-Wl,--build-id}} flag so that it has a nonzero build ID.&lt;br /&gt;
&lt;br /&gt;
The first step is to build the dump_syms and/or dump_syms_dwarf executable using Make. Then you can use the &amp;lt;code&amp;gt;symbolize.py&amp;lt;/code&amp;gt; script in the root of Daemon's Breakpad repository to produce the symbols and store them in a symbol directory. Or if you want to know how to do it yourself, you can read the following paragraph which describes what the script does:&lt;br /&gt;
&lt;br /&gt;
You need to run the dump_syms tool (located at &amp;lt;code&amp;gt;src/tools/linux/dump_syms/dump_syms&amp;lt;/code&amp;gt; for Linux or NaCl targets or &amp;lt;code&amp;gt;src/tools/windows/dump_syms_dwarf/dump_syms&amp;lt;/code&amp;gt; for MinGW targets) on the binary(ies) where the crash occurred. Usage: &amp;lt;code&amp;gt;dump_syms &amp;lt;binary&amp;gt;&amp;lt;/code&amp;gt;. The output must be stored in a specific directory format. Pick a directory to be the symbol directory (&amp;lt;code&amp;gt;symbols&amp;lt;/code&amp;gt; in the following examples). The output must be stored at &amp;lt;code&amp;gt;symbols/$FILENAME/$BUILD_ID/$FILENAME.sym&amp;lt;/code&amp;gt; . For example, &amp;lt;code&amp;gt;symbols/cgame-native-dll.dll/1A74E057938E0BF10930C4F54740B2E21/cgame-native-dll.dll.sym&amp;lt;/code&amp;gt;. The build ID can be seen in the first few lines of dump_syms output in a line beginning with &amp;lt;code&amp;gt;MODULE&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 3. Stack walk ===&lt;br /&gt;
Running the stack walk tool (located at &amp;lt;code&amp;gt;src/processor/minidump_stackwalk&amp;lt;/code&amp;gt;) will give the human-readable stack trace.&lt;br /&gt;
&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;minidump_stackwalk &amp;lt;dump file&amp;gt; &amp;lt;symbol directory&amp;gt;&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Tools/Breakpad&amp;diff=9707</id>
		<title>Tools/Breakpad</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Tools/Breakpad&amp;diff=9707"/>
				<updated>2026-10-12T06:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tools]][[Category:Native Client]]{{DISPLAYTITLE:Dæmon Breakpad &amp;amp;mdash; Enhanced Breakpad Crash Reporting Library}}&lt;br /&gt;
Breakpad is a set of client and server components which implement a crash-reporting system, originally developed by Google.&lt;br /&gt;
&lt;br /&gt;
Dæmon Breakpad is an enhanced version of Google Breakpad providing wider platform compatibility and additional executable and symbol formats while incorporating upstream changes.&lt;br /&gt;
&lt;br /&gt;
The {{game}} uses Breakpad for generating and analyzing crash dumps from both the {{engine}} and {{nacl}} gamelogic modules. &lt;br /&gt;
&lt;br /&gt;
A crash dump is a file that is generated when the program crashes, which can be analyzed by developers to find out why the crash occurred. Breakpad is currently available in Daemon for the Windows (if built with MinGW) and Linux engine code, and the NaCl gamelogic on any platform.&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Breakpad cannot be used for &amp;lt;i&amp;gt;native executable&amp;lt;/i&amp;gt; gamelogic modules. But (assuming a Linux server) you may use traditional core dumps instead. OR, you can use the &amp;lt;code&amp;gt;vm.cgame.type&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vm.sgame.type&amp;lt;/code&amp;gt; cvars to start up gdbserver.&lt;br /&gt;
{{TODO|inline=true|Explain how to use this.}}}}&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
&lt;br /&gt;
The Breakpad source repository is: {{url|github.com/DaemonEngine/breakpad}}&lt;br /&gt;
&lt;br /&gt;
Dæmon's Breakpad fork is based on {{url|github.com/jon-turney/google-breakpad}}. Jon Turney's version adds MinGW support. It is in turn a fork of Chromium's Breakpad {{url|chromium.googlesource.com/breakpad/breakpad}}. Improvements from Google upstream are merged from time to time. We also implement our own improvements, like {{nacl}} compatibility and extended cross-platform support.&lt;br /&gt;
&lt;br /&gt;
== Dæmon Breakpad enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== MinGW and DWARF5 compatibility ===&lt;br /&gt;
&lt;br /&gt;
The Dæmon Breakpad adds MinGW support to Google Breakpad, based on Jon Turney's patches, with merged Google upstream adding support for DWARF5 debugging information format. It retains the support for systems already supported by the Google Breakpad upstream.&lt;br /&gt;
&lt;br /&gt;
===Saigo-built nexe compatibility===&lt;br /&gt;
&lt;br /&gt;
The Dæmon Breakpad adds support for {{nacl}} {{code|.nexe}} binaries built with the {{saigo}}. The {{code|linux/dump_syms}} tool can extract symbols from those nexe. Don't mind the “linux” directory, it's an ELF tool.&lt;br /&gt;
&lt;br /&gt;
===Multiplatform ELF symbolizer===&lt;br /&gt;
&lt;br /&gt;
The {{code|linux/dumps_syms}} tool can build for and run on Linux, macOS, FreeBSD and Windows (when built with MinGW). It can then symbolize ELF binaries on all those platforms, including Linux binaries, FreeBSD binaries, and NaCl binaries.&lt;br /&gt;
&lt;br /&gt;
==Cross symbolizer compatibility==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! ↓ Host \ Binary →&lt;br /&gt;
! NaCl ELF !! Linux ELF !! FreeBSD ELF !! macOS Mach-O !! Windows PE+DWARF (MinGW)&lt;br /&gt;
|-&lt;br /&gt;
! Linux&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || ✅️ || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! FreeBSD&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || ✅️ || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! macOS&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || || ✅️&lt;br /&gt;
|-&lt;br /&gt;
! Windows (MinGW)&lt;br /&gt;
| ✅️ || ✅️ || ✅️ || ✅️ || ✅️&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Engine build configuration==&lt;br /&gt;
&lt;br /&gt;
The {{code|USE_BREAKPAD}} CMake option controls whether Breakpad support is built into the engine. It is disabled by default because Breakpad is primarily useful for publicly distributed release binaries, not people who build and run the code themselves. Note that NaCl crash dump support is always built in, regardless of options.&lt;br /&gt;
&lt;br /&gt;
For an engine built with Breakpad support, the &amp;lt;code&amp;gt;common.breakpad.enabled&amp;lt;/code&amp;gt; cvar turns it on or off.&lt;br /&gt;
&lt;br /&gt;
The cvar can only be set via the command line, like &amp;lt;code&amp;gt;./daemon -set common.breakpad.enabled 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==For users: reporting a crash==&lt;br /&gt;
&lt;br /&gt;
The crash dumps are stored in the homepath under the &amp;lt;code&amp;gt;crashdump/&amp;lt;/code&amp;gt; directory. Sort by date to find the most recent one and make sure it matches the date/time when the crash occurred. Send the .dmp file to someone on the Unvanquished development team.&lt;br /&gt;
&lt;br /&gt;
==For developers: how to trace a crash==&lt;br /&gt;
&lt;br /&gt;
=== 1. Getting the tools ===&lt;br /&gt;
&lt;br /&gt;
The Breakpad repository for the {{engine}} is at {{url|github.com/DaemonEngine/breakpad}}. If you have already checked out {{code|Daemon}}, then it is located in the &amp;lt;code&amp;gt;libs/breakpad/&amp;lt;/code&amp;gt; submodule there. cd into this repo.&lt;br /&gt;
&lt;br /&gt;
=== 2. Get symbols ===&lt;br /&gt;
&lt;br /&gt;
==== 2a. Symbols for an official Unvanquished release ====&lt;br /&gt;
&lt;br /&gt;
If you are debugging an official release binary, you don't need to (and can't) generate symbols yourself -- the Unvanquished release script handles this. In the Unvanquished unizip/torrent (or updater installation directory), symbol files are found in the &amp;lt;code&amp;gt;symbols_${VERSION}.zip&amp;lt;/code&amp;gt; archive. Simply extract the zip somewhere.&lt;br /&gt;
&lt;br /&gt;
==== 2b. Generating your own symbols ====&lt;br /&gt;
&lt;br /&gt;
To produce symbols, you need a binary with debug info. For MinGW, the binary additionally needs to have been built with the {{code|-Wl,--build-id}} flag so that it has a nonzero build ID.&lt;br /&gt;
&lt;br /&gt;
The first step is to build the dump_syms and/or dump_syms_dwarf executable using Make. Then you can use the &amp;lt;code&amp;gt;symbolize.py&amp;lt;/code&amp;gt; script in the root of Daemon's Breakpad repository to produce the symbols and store them in a symbol directory. Or if you want to know how to do it yourself, you can read the following paragraph which describes what the script does:&lt;br /&gt;
&lt;br /&gt;
You need to run the dump_syms tool (located at &amp;lt;code&amp;gt;src/tools/linux/dump_syms/dump_syms&amp;lt;/code&amp;gt; for Linux or NaCl targets or &amp;lt;code&amp;gt;src/tools/windows/dump_syms_dwarf/dump_syms&amp;lt;/code&amp;gt; for MinGW targets) on the binary(ies) where the crash occurred. Usage: &amp;lt;code&amp;gt;dump_syms &amp;lt;binary&amp;gt;&amp;lt;/code&amp;gt;. The output must be stored in a specific directory format. Pick a directory to be the symbol directory (&amp;lt;code&amp;gt;symbols&amp;lt;/code&amp;gt; in the following examples). The output must be stored at &amp;lt;code&amp;gt;symbols/$FILENAME/$BUILD_ID/$FILENAME.sym&amp;lt;/code&amp;gt; . For example, &amp;lt;code&amp;gt;symbols/cgame-native-dll.dll/1A74E057938E0BF10930C4F54740B2E21/cgame-native-dll.dll.sym&amp;lt;/code&amp;gt;. The build ID can be seen in the first few lines of dump_syms output in a line beginning with &amp;lt;code&amp;gt;MODULE&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 3. Stack walk ===&lt;br /&gt;
Running the stack walk tool (located at &amp;lt;code&amp;gt;src/processor/minidump_stackwalk&amp;lt;/code&amp;gt;) will give the human-readable stack trace.&lt;br /&gt;
&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;minidump_stackwalk &amp;lt;dump file&amp;gt; &amp;lt;symbol directory&amp;gt;&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Contributing/Review&amp;diff=9706</id>
		<title>Contributing/Review</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Contributing/Review&amp;diff=9706"/>
				<updated>2026-10-12T03:05:48Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Contributing]]{{DISPLAYTITLE:Reviewing Unvanquished contributions}}&lt;br /&gt;
{{Note|header=Proposal|content=This is a proposal, things may be discussed and changed.&lt;br /&gt;
&lt;br /&gt;
See the forum thread: https://forums.unvanquished.net/viewtopic.php?t=2426}}&lt;br /&gt;
&lt;br /&gt;
{{NoteMergeReview}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reviewing artistic data ==&lt;br /&gt;
&lt;br /&gt;
Reviewing images, materials, sound effects or map changes from [https://github.com/UnvanquishedAssets/UnvanquishedAssets UnvanquishedAssets] is a bit different than code, as there are some art direction involved.&lt;br /&gt;
&lt;br /&gt;
A data PR modifying how a the game world is experienced, for example how a map looks, is expected to get approved by an artistic advisor before merging. Common artistic reviewers are currently: '''Viech''', '''illwieckz''', '''Sweet'''.&lt;br /&gt;
&lt;br /&gt;
An artistic data author is also a reviewer for his own map / texture / other artistic data package, for example the author of a map is considered an artistic reviewer for the map, same for texture packages if the author is part of the Unvanquished team (a texture package specially created for Unvanquished) and same for sound. For model repositories like weapons, buildables and players, the author of a model is considered an artistic reviewer for the things related to the model.&lt;br /&gt;
&lt;br /&gt;
Artistic reviewers can say a change literally looks good to them and is OK for merging for the matter of the way it looks.&lt;br /&gt;
&lt;br /&gt;
Artistic reviewers can auto-approve their change for the matter of the way it looks.&lt;br /&gt;
&lt;br /&gt;
Then comes some generic implementation review, basically things like if the syntax of files is correct, or used file format is good or not.&lt;br /&gt;
&lt;br /&gt;
Let's give some use case as an example:&lt;br /&gt;
&lt;br /&gt;
# '''Someone contributes a force field effect modification by adding a heat haze map.'''&lt;br /&gt;
#* It is required to get an artistic review. Artistic reviewers can auto-approve themselves.&lt;br /&gt;
#* Usual reviewers of the team (same as code) can review the implementation, for example suggesting to compress the image better or writing the {{code|.shader}} file in a better way.&lt;br /&gt;
# '''Someone edits some brushwork in a map without any impact in the perceived geometry.'''&amp;lt;br/&amp;gt;For example to caulk some surface to optimise the rendering, or to reduce the light map size.&lt;br /&gt;
#* This doesn't require an artistic review, so any usual reviewers of the team can review that.&lt;br /&gt;
#* The PR submitter should say it doesn't require artistic review and why.&lt;br /&gt;
&lt;br /&gt;
Like code, we better wait for at least one complete day before merging a PR to make possible to gather some comments.&lt;br /&gt;
&lt;br /&gt;
Something specific to data contribution is the file size, because most data formats (image, sound files) are not diffable, we better make sure a file is in its optimal compressed format prior to pushing it into a repository, this is a technical review, not an artistic review.&lt;br /&gt;
&lt;br /&gt;
Any pull request should be reviewed, even if a formality, just to make sure at least another eye seen it before merging. The idea about authors auto-approving themselves only counts for the artistic side of things.  The idea is that if the change got reviewed, but no one said anything about the artistic side of things, a map author can consider it's fine to merge without artistic comment. This is to solve the problem of no one having any opinion on the artistic side of the given change, but everyone being able to say the change is technically ready to merge.&lt;br /&gt;
&lt;br /&gt;
== Reviewing code ==&lt;br /&gt;
&lt;br /&gt;
Reviewing code doesn't require an artistic review. All members of the team are reviewers. The review focus on the contribution being bug-free, maintainable, things like that.&lt;br /&gt;
&lt;br /&gt;
== Requesting a review ==&lt;br /&gt;
&lt;br /&gt;
When submitting a pull-request, it is useful to explain not only what the code is meant to do and why, but also express the state of the work you submit and the kind of review you are looking for, in hope this helps to reduce the pull request being trapped in situations that were not intended that would slow down the review process.&lt;br /&gt;
&lt;br /&gt;
Here are some questions you are invited to answer when submitting your work:&lt;br /&gt;
&lt;br /&gt;
'''Those changes are implementing:'''&lt;br /&gt;
&lt;br /&gt;
* ☐ A fix.&lt;br /&gt;
* ☐ A new feature.&lt;br /&gt;
* ☐ A rewrite of something that already exists.&lt;br /&gt;
* ☐ A clean-up to drop legacy or unused stuff.&lt;br /&gt;
&lt;br /&gt;
'''Those changes are:'''&lt;br /&gt;
&lt;br /&gt;
* ☐ Made by me.&lt;br /&gt;
* ☐ Made by someon else:&lt;br /&gt;
&lt;br /&gt;
'''What the changes are for and what are they trying to accomplish:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;padding-left: 15em; padding-right: 15em;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''The existing issues related to those changes:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;padding-left: 15em; padding-right: 15em;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''My own personnal perceived status of the changes being submitted:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;padding-left: 15em; padding-right: 15em;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ☐ I believe it is ready to merge as is unless proven wrong.&lt;br /&gt;
* ☐ I believe it is ready to use but I'm requesting for comments so it can be refined.&lt;br /&gt;
* ☐ That's a work-in-progress, being made public to get early comments and make sure other people working on other branches know this is being worked on.&lt;br /&gt;
&lt;br /&gt;
'''I'm looking for this kind of review:'''&lt;br /&gt;
&lt;br /&gt;
* ☐ Generic proof-reading for mistakes.&lt;br /&gt;
* ☐ Comments about the the design itself, looking for better ways to do things.&lt;br /&gt;
* ☐ Opinion on what is expected to be brought or removed, is this wanted to begin with? if yes are there better ideas?&lt;br /&gt;
* ☐ Opinion on the way it's done or what it plans to achieves.&lt;br /&gt;
* ☐ Testing to be sure it works as expected or not regress.&lt;br /&gt;
&lt;br /&gt;
'''What I already tested and assume is already verified:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;padding-left: 15em; padding-right: 15em;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''I request testing:'''&lt;br /&gt;
&lt;br /&gt;
* ☐ On a specific operating system, hardware brand or model, driver version:&lt;br /&gt;
* ☐ Of specific game options, configurations, in-game actions:&lt;br /&gt;
&lt;br /&gt;
'''My changes are expected to integrate this way in the target branch:'''&lt;br /&gt;
&lt;br /&gt;
* ☐ As a preparation for future changes that would be submitted in another pull request.&lt;br /&gt;
* ☐ As a single commit despite this being submitted as separate commits.&lt;br /&gt;
* ☐ As separate commits because I believe it's better for this change to do things step by step and I don't want to lose the ability to bisect those steps.&lt;br /&gt;
&lt;br /&gt;
== Reviewing a contribution ==&lt;br /&gt;
&lt;br /&gt;
When clicking the “Approve” button, please add a comment, a {{Code|LGTM}} (''Looks Good To Me'') mention is enough.&lt;br /&gt;
&lt;br /&gt;
A {{code|LGTM}} message without any other comment is considered as an approval, better click Approve anyway.&lt;br /&gt;
A {{code|LGTM}} message with a comment for a better implementation (not a bug fix) is considered as an approval, better click Approve anyway.&lt;br /&gt;
&lt;br /&gt;
=== If the code looks to have no bug from you point of view ===&lt;br /&gt;
&lt;br /&gt;
please write LGTM in all cases.&lt;br /&gt;
&lt;br /&gt;
==== If you agree with the purpose of the change ====&lt;br /&gt;
&lt;br /&gt;
Please write LGTM and Approve.&lt;br /&gt;
&lt;br /&gt;
==== If you disagree with the purpose of the change ====&lt;br /&gt;
&lt;br /&gt;
Please write LGTM but add a comment explaining why you don't approve.&lt;br /&gt;
&lt;br /&gt;
This way, if the code has no bug, we can solve the politics separately and if we decide to agree with the purpose of the change, we can merge it without having to look back at the code, and to not block the merge because we don't know if code is reviewed yet.&lt;br /&gt;
&lt;br /&gt;
==== If you have a suggestion for a better implementation ====&lt;br /&gt;
&lt;br /&gt;
Please write LGTM and approve and add a comment with your suggestion, saying it is a suggestion.&lt;br /&gt;
&lt;br /&gt;
This way, the submitter can decide to follow you or not.&lt;br /&gt;
&lt;br /&gt;
If the submitter merged without following your recommendation, you are free to implement your recommendation.&lt;br /&gt;
&lt;br /&gt;
=== If the code has a bug from your point of view ===&lt;br /&gt;
&lt;br /&gt;
==== If you know the fix and this is obvious to do ====&lt;br /&gt;
&lt;br /&gt;
Please state what you believe is a bug and suggest what you believe would fix the bug.&lt;br /&gt;
&lt;br /&gt;
You can write “LGTM if you do &amp;lt;suggestion&amp;gt;” and then write your suggestion.&lt;br /&gt;
&lt;br /&gt;
You can consider obvious a fix you believe there is no need to verify the implementation of your recommendation.&lt;br /&gt;
&lt;br /&gt;
Once the submitter implements your suggested fix the change will be considered fully approved without needing any new comment.&lt;br /&gt;
&lt;br /&gt;
==== If you don't know the fix or this is not obvious to do ====&lt;br /&gt;
&lt;br /&gt;
Please explain why you believe is a bug, and if you an idea to fix it, please share it.&lt;br /&gt;
&lt;br /&gt;
=== If you have any remark but it is not blocking ===&lt;br /&gt;
&lt;br /&gt;
Please write LGTM, approve, and write your remark.&lt;br /&gt;
&lt;br /&gt;
== Suggesting a change ==&lt;br /&gt;
&lt;br /&gt;
Prefer to point out something that could be better, or suggest a change, than give a direct order, because nobody is paid for that work and then everything already done is already a gift that we not deserve.&lt;br /&gt;
&lt;br /&gt;
For example instead of something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Remove leading spaces.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefer something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;That leading space will be included in the translation string and this is unwanted.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically, instead of saying what should be done, say why something can be done.&lt;br /&gt;
&lt;br /&gt;
== Approving the change ==&lt;br /&gt;
&lt;br /&gt;
When you believe the submitted contribution of someone else is ready to merge, you can approve it.&lt;br /&gt;
&lt;br /&gt;
By approving someone else contribution, you help a lot this project! Every merger is an approver.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Unvanquished&amp;diff=9705</id>
		<title>Unvanquished</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Unvanquished&amp;diff=9705"/>
				<updated>2026-10-12T03:05:36Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Unvanquished &amp;amp;mdash; Free and Open-Source Multiplayer FPS+RTS Game}}&lt;br /&gt;
Unvanquished development is proud to present you our game: '''Unvanquished'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unvanquished is a free, open-source first-person strategy game shooter, pitting technologically advanced human soldiers against hordes of highly adaptable aliens. Players can choose from either team, providing for an entirely different experience on both sides, as humans focus on long-range firepower while aliens rely instead on quick movement and stealth. The goal of each match is to destroy the enemy base, preventing members of the opposing team from spawning. Upgrades for both teams are earned by a combination of individual performance and team map control, unlocking access to more powerful weapons and equipment for the humans, and larger, more ferocious forms for the aliens.&lt;br /&gt;
&lt;br /&gt;
Our project has been in development since the summer of 2011, with our very first alpha release being made on February 29th, 2012. Ever since, we have made monthly alpha releases, with each new release adding new content in the form of assets, maps, gameplay, or engine features. Our development team consists of a mix of skilled hobbyists and seasoned professionals from around the world, and we are always receptive to new team members, both from the community and beyond.&lt;br /&gt;
&lt;br /&gt;
Unvanquished is a fork of [https://tremulous.net Tremulous], powered by the Dæmon engine. The {{engine}} that powers our game is ultimately based off [https://ioquake3.org Quake 3], along with features from [https://www.moddb.com/mods/etxreal ET:XreaL], as well as our own coding efforts.&lt;br /&gt;
&lt;br /&gt;
-- [https://unvanquished.net/about/ Unvanquished About page].&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Download the game==&lt;br /&gt;
&lt;br /&gt;
The {{game}} can be downloaded from the '''[https://unvanquished.net download page]'''.&lt;br /&gt;
&lt;br /&gt;
{{InfoDownloadLauncher}}&lt;br /&gt;
&lt;br /&gt;
==Game source code==&lt;br /&gt;
&lt;br /&gt;
Unvanquished source trees are tracked on {{git}} repositories to make contributions easier and help projects to port their game on it:&lt;br /&gt;
&lt;br /&gt;
* Unvanquished game code repository: https://github.com/Unvanquished/Unvanquished&lt;br /&gt;
* Unvanquished data repository: https://github.com/UnvanquishedAssets/UnvanquishedAssets&lt;br /&gt;
&lt;br /&gt;
See the {{Game code}} and {{Game data}} pages for details.&lt;br /&gt;
&lt;br /&gt;
==Game mechanics==&lt;br /&gt;
&lt;br /&gt;
===Real time strategy game===&lt;br /&gt;
&lt;br /&gt;
Unvanquished is a real time strategy game: build your base, strengthen your defenses, create outposts. To win the game your team must deny the opposite team the ability to return in game by destroying their spawnpoints.&lt;br /&gt;
&lt;br /&gt;
===Team-based first person shooter===&lt;br /&gt;
&lt;br /&gt;
As a player you play with a team. A game ends when either the human team wins or the alien team wins. Your feats of arm contribute to your team momentum and unlock abilities, weapons and buildables.&lt;br /&gt;
&lt;br /&gt;
===Class-based online warfare===&lt;br /&gt;
&lt;br /&gt;
As an alien you spawn as a builder or as an attack form, and you evolve to other classes as the game continues. As an human you chose the construction kit and do the builder job to fight the resource war, or prefer the rifle to fight and destroy. With your earned credits you buy more advanced weaponry and armors.&lt;br /&gt;
&lt;br /&gt;
==Game history==&lt;br /&gt;
&lt;br /&gt;
{{Trivia|The ''Unvanquished'' name comes from the ''old third-race “Unvanquised” mod project'' meant to implement a “Dæmon” third team for Tremulous.&lt;br /&gt;
&lt;br /&gt;
{{OldThirdRaceModToolNames}}}}&lt;br /&gt;
&lt;br /&gt;
{{NoteTremZ}}&lt;br /&gt;
&lt;br /&gt;
'''Unvanquished''' is a fork and a continuation of the [https://tremulous.net Tremulous] game, itself inspired by the Quake 2 mod [http://www.planetgloom.com/ Gloom]. After having been a Quake 3 mod, Tremulous was released as standalone 1.1.0 version in 2006. Tremulous attracted a lot of attention and gained a wide popularity, benefiting from the open source release of Quake 3 code by idSoftware and from the open source community interest. At the time, Linux users have seen in games like Nexuiz (ancestor of [https://xonotic.org Xonotic]) and Tremulous the proof open source games were possible. It was also a time where Linux gaming market was very small and such games drained a lot of attention thanks to their care of the Linux user base.&lt;br /&gt;
&lt;br /&gt;
{{Game and engine lineage}}&lt;br /&gt;
&lt;br /&gt;
===The Tremulous 1.2 release that never came===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the highly-expected 1.2 version of Tremulous never came, despite a “gameplay preview” having been distributed. In the mean time, there was multiple projects working on the open sourced code of Quake 3, including the engine, with projects like ioquake3 and XreaL. Despite XreaL having never really been used by a game at the time except for a small proof of concept shooter, the showcase of the various implemented features caught the eyes of many people. People tried to build alternate engines for Tremulous reusing some XreaL improvements, those efforts gave birth to [https://tremfusion.net/ TremFusion] in 2008.&lt;br /&gt;
&lt;br /&gt;
===The rise of XreaL and Tremfusion engines===&lt;br /&gt;
&lt;br /&gt;
The Wolfenstein: Enemy Territory code was then open sourced and XreaL started to mix XreaL with it to produce ET:XreaL. A project to revive Tremulous attracted some people and some information was delivered about the project under the TremZ name, while the engine, forked of ET:XreaL was then named OpenWolf. The TremZ name was not definitive, neither the OpenWolf name. Another Tremulous mod that went nowhere kindly gave the Unvanquished name and the domain name. The git repository and organization was renamed from TremZ to Unvanquished, the engine renamed to Dæmon, and the game was released as first alpha under the Unvanquished name on February 29 of 2012.&lt;br /&gt;
&lt;br /&gt;
===The birth of Unvanquished and Dæmon engine===&lt;br /&gt;
&lt;br /&gt;
From the beginning, Unvanquished was heavily linked to Tremulous, as most early members of the Unvanquished project were already heavily invested in Tremulous or renowned Tremulous projects.&lt;br /&gt;
&lt;br /&gt;
Stijn “Ingar” Buys was a member of the official Tremulous team when working on the Tremulous 1.2 project and joined the Unvanquished team as level designer and among other things contributed the Vega map and the Vega texture set, initially targeted for Tremulous, and then adapted and improved for the Dæmon engine features. Ingar was also known to distribute builds of the {{Tools|NetRadiant}} level editor and Tremulous game pack, he did it for Unvanquished for multiple years as well.&lt;br /&gt;
&lt;br /&gt;
Jan “Stannum” van der Weg was a member of the original Tremulous team who already released standalone Tremulous 1.1.0 and earliest mods (his ''Transit'' map is one of the oldest Tremulous map, known to already been featured in tremulous-q3-1.0.0 froom 2005), Stannum joined the Unvanquished team for 3D Modeling &amp;amp; Animation and provided multiple models and textures for the game.&lt;br /&gt;
&lt;br /&gt;
Amanieu d'Antras and Corentin “kangz” Wallez who were already known for their work on their successful TremFusion engine before joined the team for Engine Development.&lt;br /&gt;
&lt;br /&gt;
Jack “EmperorJack” Purvis, Cody “Supertanker” Jackson, Paweł “Pevel” Micek and Maximilian “Viech” Stahlberg were renowned mappers from Tremulous community and were well known for their popular maps. They joined the Unvanquished team for Level Design and ported or remade some of their Tremulous maps for Unvanquished: Thunder (EmperorJack), Spacetracks and Station15 (Supertanker), Perseus, Antares and Yocto (Pevel), and Parpax (Viech).&lt;br /&gt;
&lt;br /&gt;
Many other people who joined Unvanquished were already heavily invested in Tremulous community projects or related projects like ioquake3. You can read all their names and get more information about Unvanquished people and contributions on the [https://unvanquished.net/about/ Unvanquished About page].&lt;br /&gt;
&lt;br /&gt;
Initial project head was composed of kharnov, Harsh “Ishq” Modi, and Maximilian “Viech” Stahlberg. In 2017 kharnov had chosen Thomas “illwieckz” Debesse to replace him at the project head as he had to focus on other topics in its life.&lt;br /&gt;
&lt;br /&gt;
===Free and open source again===&lt;br /&gt;
&lt;br /&gt;
Based on the free open source Tremulous game, the Unvanquished game was never intended to not be free, but with time some assets were merged with problematic licenses like Creative Commons licenses with non-commercial clauses and some models just lacked the appropriate license mention from the author. After multiple years of reaching pasts contributors, the game became libre again in 2020 (see our [https://unvanquished.net/now-we-are-free/ Now we are free!] blog post).&lt;br /&gt;
&lt;br /&gt;
On a related topic, Unvanquished wiki was using a license that was considered non-free because of a non-commercial clause, in fact nobody was able to explain why this clause was there, it may have been a mistake. After years of reaching contributors to get permissions to relicense and rewriting other pages, the wiki was liberated on 2021, see the [[Wiki relicensing]] page and the [https://unvanquished.net/unvanquished-0-52-1-better-freer-stronger/ Unvanquished 0.52.1 blog post].&lt;br /&gt;
&lt;br /&gt;
==Game and engine features==&lt;br /&gt;
&lt;br /&gt;
More information about {{engine|link=no}} and {{game}} features can be found on the {{engine}} page.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9704</id>
		<title>Linux packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9704"/>
				<updated>2026-10-12T03:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the launcher and universal zip, Unvanquished distributions can also be found in some Linux package managers. These are not officially supported by the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
==Unvanquished update policy==&lt;br /&gt;
&lt;br /&gt;
The Unvanquished norm is that all players and server owners need to update at the same time when a new major version comes out (e.g. {{code|0.54.x}} → {{code|0.55.0}}). Differing major versions are incompatible. So when using one of the packages below, you should double-check that it is up to date with the official release distributed by the {{launcher}} or the [[Universal zip]].&lt;br /&gt;
&lt;br /&gt;
The current Unvanquished version is {{code|{{Current|GameVersion}}}}.&lt;br /&gt;
&lt;br /&gt;
==Getting ready for a release==&lt;br /&gt;
&lt;br /&gt;
You can subscribe to the [https://forums.unvanquished.net/viewtopic.php?t=2624 Unvanquished release coordination] topic on the forum. You can subscribe either with the Atom feed provided (can be done anonymously), or by mail by subscribing in the forum (requires a forum account).&lt;br /&gt;
&lt;br /&gt;
This communication channel is the dedicated tool the Unvanquished team uses to announce upcoming releases and share other important information downstream distributors may want to know before hand.&lt;br /&gt;
&lt;br /&gt;
==Packages==&lt;br /&gt;
&lt;br /&gt;
The “''Team''” packages are maintained by Unvanquished developers, other packages are maintained by people outside the project and may not be verified.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Team !! System !! Package Name !! Package Manager !! Script !! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Flatpak || &amp;lt;code&amp;gt;net.unvanquished.Unvanquished&amp;lt;/code&amp;gt; || [https://flathub.org/en/apps/net.unvanquished.Unvanquished Flathub] || [https://github.com/flathub/net.unvanquished.Unvanquished/blob/master/net.unvanquished.Unvanquished.yml source] || afontain, illwieckz&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Arch Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://aur.archlinux.org/packages/unvanquished AUR] || [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=unvanquished source] || Viech&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || NixOS || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://mynixos.com/nixpkgs/package/unvanquished Nix] || [https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/un/unvanquished/package.nix source] || afontain&lt;br /&gt;
|-&lt;br /&gt;
| || Alt Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/ Sysiphus] || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/specfiles/ source] || shad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Packaging tips ==&lt;br /&gt;
* Due to the update policy, Unvanquished may not be suitable for package ecosystems such as Debian's where version stability is expected.&lt;br /&gt;
* You only have to rebuild the {{engine}} ([https://github.com/DaemonEngine/Daemon engine sources]) for the system or distribution you target.&lt;br /&gt;
* Any {{code|.dpk}} file must be copied from the official release rather than built, because its hash must match when playing online.&lt;br /&gt;
* If you look at the universal zip, &amp;lt;code&amp;gt;pkg/*.dpk&amp;lt;/code&amp;gt; plus the contents of the platform-specific zip, minus possibly &amp;lt;code&amp;gt;crash_server&amp;lt;/code&amp;gt;, is the bare minimum for a usable install.&lt;br /&gt;
* All the {{code|.dpk}} files from a single release (the ones shipped in the universal zip) are required, even if some are listed with a same base name but different versions. This is because we use delta packages, with newer packages extending older ones. For example the Unvanquished 0.55.3 release required both {{code|res-weapons_0.55.3.dpk}} and {{code|res-weapons_0.55.dpk}}, the older one wasn't a leftover.&lt;br /&gt;
* Other nice-to-have bits are a desktop file, and server scripts from [https://github.com/Unvanquished/Unvanquished/tree/master/dist &amp;lt;code&amp;gt;dist/&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Supported architectures for Unvanquished are &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt; (x86-64), &amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; (x86), &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt; (32-bit ARM with hard float), and &amp;lt;code&amp;gt;arm64&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If downloads are discouraged/forbidden by the package system, you will need to bundle the NaCl runtime dependencies in the package. &lt;br /&gt;
* Excluding the NaCl runtime and Unvanquished gamelogic, you probably want to avoid using pre-built binaries. Pass &amp;lt;code&amp;gt;-DUSE_EXTERNAL_DEPS_LIBS=OFF&amp;lt;/code&amp;gt; to CMake to avoid this.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9703</id>
		<title>Linux packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9703"/>
				<updated>2026-10-12T03:00:44Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the launcher and universal zip, Unvanquished distributions can also be found in some Linux package managers. These are not officially supported by the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
== Unvanquished update policy ==&lt;br /&gt;
&lt;br /&gt;
The Unvanquished norm is that all players and server owners need to update at the same time when a new major version comes out (e.g. {{code|0.54.x}} → {{code|0.55.0}}). Differing major versions are incompatible. So when using one of the packages below, you should double-check that it is up to date with the official release distributed by the {{launcher}} or the [[Universal zip]].&lt;br /&gt;
&lt;br /&gt;
The current Unvanquished version is {{code|{{Current|GameVersion}}}}.&lt;br /&gt;
&lt;br /&gt;
You can subscribe to the [https://forums.unvanquished.net/viewtopic.php?t=2624 Unvanquished release coordination] topic on the forum. You can subscribe either with the Atom feed provided (can be done anonymously), or by mail by subscribing in the forum (requires a forum account). This communication channel is the dedicated tool for the Unvanquished team to announce upcoming releases and share other important information downstream distributors may want to know before hand.&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
&lt;br /&gt;
The “''Team''” packages are maintained by Unvanquished developers, other packages are maintained by people outside the project and may not be verified.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Team !! System !! Package Name !! Package Manager !! Script !! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Flatpak || &amp;lt;code&amp;gt;net.unvanquished.Unvanquished&amp;lt;/code&amp;gt; || [https://flathub.org/en/apps/net.unvanquished.Unvanquished Flathub] || [https://github.com/flathub/net.unvanquished.Unvanquished/blob/master/net.unvanquished.Unvanquished.yml source] || afontain, illwieckz&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Arch Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://aur.archlinux.org/packages/unvanquished AUR] || [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=unvanquished source] || Viech&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || NixOS || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://mynixos.com/nixpkgs/package/unvanquished Nix] || [https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/un/unvanquished/package.nix source] || afontain&lt;br /&gt;
|-&lt;br /&gt;
| || Alt Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/ Sysiphus] || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/specfiles/ source] || shad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Packaging tips ==&lt;br /&gt;
* Due to the update policy, Unvanquished may not be suitable for package ecosystems such as Debian's where version stability is expected.&lt;br /&gt;
* You only have to rebuild the {{engine}} ([https://github.com/DaemonEngine/Daemon engine sources]) for the system or distribution you target.&lt;br /&gt;
* Any {{code|.dpk}} file must be copied from the official release rather than built, because its hash must match when playing online.&lt;br /&gt;
* If you look at the universal zip, &amp;lt;code&amp;gt;pkg/*.dpk&amp;lt;/code&amp;gt; plus the contents of the platform-specific zip, minus possibly &amp;lt;code&amp;gt;crash_server&amp;lt;/code&amp;gt;, is the bare minimum for a usable install.&lt;br /&gt;
* All the {{code|.dpk}} files from a single release (the ones shipped in the universal zip) are required, even if some are listed with a same base name but different versions. This is because we use delta packages, with newer packages extending older ones. For example the Unvanquished 0.55.3 release required both {{code|res-weapons_0.55.3.dpk}} and {{code|res-weapons_0.55.dpk}}, the older one wasn't a leftover.&lt;br /&gt;
* Other nice-to-have bits are a desktop file, and server scripts from [https://github.com/Unvanquished/Unvanquished/tree/master/dist &amp;lt;code&amp;gt;dist/&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Supported architectures for Unvanquished are &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt; (x86-64), &amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; (x86), &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt; (32-bit ARM with hard float), and &amp;lt;code&amp;gt;arm64&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If downloads are discouraged/forbidden by the package system, you will need to bundle the NaCl runtime dependencies in the package. &lt;br /&gt;
* Excluding the NaCl runtime and Unvanquished gamelogic, you probably want to avoid using pre-built binaries. Pass &amp;lt;code&amp;gt;-DUSE_EXTERNAL_DEPS_LIBS=OFF&amp;lt;/code&amp;gt; to CMake to avoid this.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9702</id>
		<title>Linux packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9702"/>
				<updated>2026-10-12T02:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the launcher and universal zip, Unvanquished distributions can also be found in some Linux package managers. These are not officially supported by the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
== Unvanquished update policy ==&lt;br /&gt;
&lt;br /&gt;
The Unvanquished norm is that all players and server owners need to update at the same time when a new major version comes out (e.g. {{code|0.54.x}} → {{code|0.55.0}}). Differing major versions are incompatible. So when using one of the packages below, you should double-check that it is up to date with the official release distributed by the {{launcher}} or the [[Universal zip]].&lt;br /&gt;
&lt;br /&gt;
The current Unvanquished version is {{code|{{Current|GameVersion}}}}.&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
&lt;br /&gt;
The “''Team''” packages are maintained by Unvanquished developers, other packages are maintained by people outside the project and may not be verified.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Team !! System !! Package Name !! Package Manager !! Script !! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Flatpak || &amp;lt;code&amp;gt;net.unvanquished.Unvanquished&amp;lt;/code&amp;gt; || [https://flathub.org/en/apps/net.unvanquished.Unvanquished Flathub] || [https://github.com/flathub/net.unvanquished.Unvanquished/blob/master/net.unvanquished.Unvanquished.yml source] || afontain, illwieckz&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Arch Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://aur.archlinux.org/packages/unvanquished AUR] || [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=unvanquished source] || Viech&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || NixOS || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://mynixos.com/nixpkgs/package/unvanquished Nix] || [https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/un/unvanquished/package.nix source] || afontain&lt;br /&gt;
|-&lt;br /&gt;
| || Alt Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/ Sysiphus] || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/specfiles/ source] || shad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Packaging tips ==&lt;br /&gt;
* Due to the update policy, Unvanquished may not be suitable for package ecosystems such as Debian's where version stability is expected.&lt;br /&gt;
* You only have to rebuild the {{engine}} ([https://github.com/DaemonEngine/Daemon engine sources]) for the system or distribution you target.&lt;br /&gt;
* Any {{code|.dpk}} file must be copied from the official release rather than built, because its hash must match when playing online.&lt;br /&gt;
* If you look at the universal zip, &amp;lt;code&amp;gt;pkg/*.dpk&amp;lt;/code&amp;gt; plus the contents of the platform-specific zip, minus possibly &amp;lt;code&amp;gt;crash_server&amp;lt;/code&amp;gt;, is the bare minimum for a usable install.&lt;br /&gt;
* All the {{code|.dpk}} files from a single release (the ones shipped in the universal zip) are required, even if some are listed with a same base name but different versions. This is because we use delta packages, with newer packages extending older ones. For example the Unvanquished 0.55.3 release required both {{code|res-weapons_0.55.3.dpk}} and {{code|res-weapons_0.55.dpk}}, the older one wasn't a leftover.&lt;br /&gt;
* Other nice-to-have bits are a desktop file, and server scripts from [https://github.com/Unvanquished/Unvanquished/tree/master/dist &amp;lt;code&amp;gt;dist/&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Supported architectures for Unvanquished are &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt; (x86-64), &amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; (x86), &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt; (32-bit ARM with hard float), and &amp;lt;code&amp;gt;arm64&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If downloads are discouraged/forbidden by the package system, you will need to bundle the NaCl runtime dependencies in the package. &lt;br /&gt;
* Excluding the NaCl runtime and Unvanquished gamelogic, you probably want to avoid using pre-built binaries. Pass &amp;lt;code&amp;gt;-DUSE_EXTERNAL_DEPS_LIBS=OFF&amp;lt;/code&amp;gt; to CMake to avoid this.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9701</id>
		<title>Linux packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Linux_packages&amp;diff=9701"/>
				<updated>2026-10-12T02:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the launcher and universal zip, Unvanquished distributions can also be found in some Linux package managers. These are not officially supported by the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
== Unvanquished update policy ==&lt;br /&gt;
&lt;br /&gt;
The Unvanquished norm is that all players and server owners need to update at the same time when a new major version comes out (e.g. {{code|0.54.x}} → {{code|0.55.0}}). Differing major versions are incompatible. So when using one of the packages below, you should double-check that it is up to date with the official release distributed by the {{launcher}} or the [[Universal zip]].&lt;br /&gt;
&lt;br /&gt;
The current Unvanquished version is {{code|{{Current|GameVersion}}}}.&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
&lt;br /&gt;
The “''Team''” packages are maintained by Unvanquished developers, other packages are maintained by people outside the project and may not be verified.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Team !! System !! Package Name !! Package Manager !! Script !! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Flatpak || &amp;lt;code&amp;gt;net.unvanquished.Unvanquished&amp;lt;/code&amp;gt; || [https://flathub.org/en/apps/net.unvanquished.Unvanquished Flathub] || [https://github.com/flathub/net.unvanquished.Unvanquished/blob/master/net.unvanquished.Unvanquished.yml source] || afontain, illwieckz&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || Arch Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://aur.archlinux.org/packages/unvanquished AUR] || [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=unvanquished source] || Viech&lt;br /&gt;
|-&lt;br /&gt;
| ✅️ || NixOS || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://mynixos.com/nixpkgs/package/unvanquished Nix] || [https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/un/unvanquished/package.nix source] || afontain&lt;br /&gt;
|-&lt;br /&gt;
| || Alt Linux || &amp;lt;code&amp;gt;unvanquished&amp;lt;/code&amp;gt; || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/ Sysiphus] || [https://packages.altlinux.org/en/sisyphus/srpms/unvanquished/specfiles/ source] || shad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Packaging tips ==&lt;br /&gt;
* Due to the update policy, Unvanquished may not be suitable for package ecosystems such as Debian's where version stability is expected.&lt;br /&gt;
* You only have to rebuild the {{engine}} ([https://github.com/DaemonEngine/Daemon sources]) for the system or distribution you target.&lt;br /&gt;
* Any {{code|.dpk}} file must be copied from the official release rather than built, because its hash must match when playing online.&lt;br /&gt;
* If you look at the universal zip, &amp;lt;code&amp;gt;pkg/*.dpk&amp;lt;/code&amp;gt; plus the contents of the platform-specific zip, minus possibly &amp;lt;code&amp;gt;crash_server&amp;lt;/code&amp;gt;, is the bare minimum for a usable install.&lt;br /&gt;
* All the {{code|.dpk}} files from a single release (the ones shipped in the universal zip) are required, even if some are listed with a same base name but different versions. This is because we use delta packages, with newer packages extending older ones. For example the Unvanquished 0.55.3 release required both {{code|res-weapons_0.55.3.dpk}} and {{code|res-weapons_0.55.dpk}}, the older one wasn't a leftover.&lt;br /&gt;
* Other nice-to-have bits are a desktop file, and server scripts from [https://github.com/Unvanquished/Unvanquished/tree/master/dist &amp;lt;code&amp;gt;dist/&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Supported architectures for Unvanquished are &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt; (x86-64), &amp;lt;code&amp;gt;i686&amp;lt;/code&amp;gt; (x86), &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt; (32-bit ARM with hard float), and &amp;lt;code&amp;gt;arm64&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If downloads are discouraged/forbidden by the package system, you will need to bundle the NaCl runtime dependencies in the package. &lt;br /&gt;
* Excluding the NaCl runtime and Unvanquished gamelogic, you probably want to avoid using pre-built binaries. Pass &amp;lt;code&amp;gt;-DUSE_EXTERNAL_DEPS_LIBS=OFF&amp;lt;/code&amp;gt; to CMake to avoid this.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9698</id>
		<title>Licenses/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9698"/>
				<updated>2026-10-07T14:33:48Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Info media licenses}}==Media credits==&lt;br /&gt;
&lt;br /&gt;
For per-media credits and licenses, see [[Credits/Media]].&lt;br /&gt;
&lt;br /&gt;
==Media licenses comparison==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Features&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Full&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Abbreviated&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Requires&amp;lt;br/&amp;gt;attribution?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;modification?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Licence&amp;lt;br/&amp;gt;interoperability?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Human-readable&amp;lt;br/&amp;gt;license deed&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Legal code&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Zero (Public Domain Dedication) 1.0&lt;br /&gt;
| {{nowrap|CC0 1.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/ deed]&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
They all allow modification, redistribution, and commercial use. They're compatible with storing files public repositories.&lt;br /&gt;
&lt;br /&gt;
==Unsuitable licenses==&lt;br /&gt;
{{GDC non free}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9697</id>
		<title>Licenses/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9697"/>
				<updated>2026-10-07T14:29:39Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Media licenses comparison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Info media licenses}}==Media credits==&lt;br /&gt;
&lt;br /&gt;
For per-media credits and licenses, see [[Credits/Media]].&lt;br /&gt;
&lt;br /&gt;
==Media licenses comparison==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Features&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Full&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Abbreviated&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Requires&amp;lt;br/&amp;gt;attribution?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;modification?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Licence&amp;lt;br/&amp;gt;interoperability?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Human-readable&amp;lt;br/&amp;gt;license deed&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Legal code&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Zero (Public Domain Dedication) 1.0&lt;br /&gt;
| {{nowrap|CC0 1.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/ deed]&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
They all allow commercial use.&lt;br /&gt;
&lt;br /&gt;
==Unsuitable licenses==&lt;br /&gt;
{{GDC non free}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9696</id>
		<title>Licenses/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9696"/>
				<updated>2026-10-07T14:26:18Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Info media licenses}}==Media credits==&lt;br /&gt;
&lt;br /&gt;
For per-media credits and licenses, see [[Credits/Media]].&lt;br /&gt;
&lt;br /&gt;
==Media licenses comparison==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Features&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Full&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Abbreviated&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Requires&amp;lt;br/&amp;gt;attribution?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;modification?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;relicensing?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Human-readable&amp;lt;br/&amp;gt;license deed&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Legal code&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Zero (Public Domain Dedication) 1.0&lt;br /&gt;
| {{nowrap|CC0 1.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/ deed]&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
They all allow commercial use.&lt;br /&gt;
&lt;br /&gt;
==Unsuitable licenses==&lt;br /&gt;
{{GDC non free}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Formats/Audio&amp;diff=9695</id>
		<title>Formats/Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Formats/Audio&amp;diff=9695"/>
				<updated>2026-10-07T14:25:55Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Formats]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
The terms &amp;lt;dfn&amp;gt;lossy&amp;lt;/dfn&amp;gt; and &amp;lt;dfn&amp;gt;lossless&amp;lt;/dfn&amp;gt; are used multiple times in this page. Lossy means that sound files compressed using that format will lose some of their audio fidelity to save space. Lossless means that the compression will not sacrifice audio fidelity, no matter how much you compress the sound file with that format.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Tools/Audio]].&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
{{GDC non free}}&lt;br /&gt;
&lt;br /&gt;
The following licenses are suitable for music and sounds:&lt;br /&gt;
&lt;br /&gt;
{{Info media licenses}}&lt;br /&gt;
&lt;br /&gt;
==Supported formats==&lt;br /&gt;
&lt;br /&gt;
* Opus &amp;amp;mdash; a lossy compressed format, {{Recommended|case=low}};&lt;br /&gt;
* Vorbis &amp;amp;mdash; a lossy compressed format, {{Preference|content=prefer Opus instead}};&lt;br /&gt;
* Wav &amp;amp;mdash; a lossless uncompressed format, {{Discouraged|case=low}}, {{Preference|content=prefer Opus instead}}.&lt;br /&gt;
&lt;br /&gt;
The {{engine}} expects the Vorbis files to use the {{code|.ogg}} file extension and the Opus files to use the {{code|.opus}} file extension.&lt;br /&gt;
&lt;br /&gt;
==Recommended audio formats==&lt;br /&gt;
&lt;br /&gt;
{{Recommended audio formats}}&lt;br /&gt;
&lt;br /&gt;
===Recommended formats in repositories===&lt;br /&gt;
&lt;br /&gt;
It's recommended to store data files in well-known compressed lossless formats in data repositories.&lt;br /&gt;
&lt;br /&gt;
There is no lossless compressed audio format supported by the engine.&lt;br /&gt;
&lt;br /&gt;
Convert Wav files and other lossless audio files to FLAC to store them in repositories. The choice of FLAC in repositories is a convention, and the {{Tools|Urcheon}} package builder knows how to convert from FLAC to Opus.&lt;br /&gt;
&lt;br /&gt;
It's better to compress to specific formats (Opus) while you distribute your work for use in game, but please keep them lossless and in widely-used formats in repositories!&lt;br /&gt;
&lt;br /&gt;
If your original file is already in OGG Vorbis or Opus lossy format, store it in repository as is without recompressing it to another format to avoid losing more data.&lt;br /&gt;
&lt;br /&gt;
==Configuration files==&lt;br /&gt;
&lt;br /&gt;
===Buildables===&lt;br /&gt;
&lt;br /&gt;
There are 14 animations per buildable type: ''construct1'', ''construct2'', ''idle1'', ''idle2'', ''idle3'', ''attack1'', ''attack2'', ''spawn1'', ''spawn2'', ''pain1'', ''pain2'', ''destroy1'', ''destroy2'', and ''destroyed''. Each buildable type has a sound configuration file, located at ''sound/buildables/&amp;lt;var&amp;gt;&amp;lt;buildable_type&amp;gt;&amp;lt;/var&amp;gt;/sound.cfg'', that describes 2 properties for each buildable animation:&lt;br /&gt;
* whether the buildable animation has an associated sound, and&lt;br /&gt;
* whether the sound is to be played in a loop.&lt;br /&gt;
Such a file should contain a &amp;lt;em&amp;gt;1&amp;lt;/em&amp;gt; for a &amp;lt;em&amp;gt;yes&amp;lt;/em&amp;gt; answer and a &amp;lt;em&amp;gt;0&amp;lt;/em&amp;gt; for a &amp;lt;em&amp;gt;no&amp;lt;/em&amp;gt; answer, for the above 2 questions, in the given order, and for each buildable animation, in the above given order. Technically, this means that the file should contain 28 integers (2 per animation). However, by convention, 1 line is used for each animation, and comments are added for guidance about which animation a pair of numbers refers to.&lt;br /&gt;
&lt;br /&gt;
So each line in a buildable sound configuration file is formatted as follows:&lt;br /&gt;
 &amp;lt;var&amp;gt;&amp;lt;has_sound&amp;gt;&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;&amp;lt;loop&amp;gt;&amp;lt;/var&amp;gt; //&amp;lt;var&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an sound configuration file example for a buildable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 0 //construct1.wav&lt;br /&gt;
0 0 //construct2.wav&lt;br /&gt;
1 1 //idle1.wav&lt;br /&gt;
0 0 //idle2.wav&lt;br /&gt;
0 0 //idle3.wav&lt;br /&gt;
0 0 //attack1.wav&lt;br /&gt;
0 0 //attack2.wav&lt;br /&gt;
0 0 //spawn1.wav&lt;br /&gt;
0 0 //spawn2.wav&lt;br /&gt;
0 0 //pain1.wav&lt;br /&gt;
0 0 //pain2.wav&lt;br /&gt;
1 0 //destroy1.wav&lt;br /&gt;
1 0 //destroy2.wav&lt;br /&gt;
0 0 //destroyed.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not reorder the lines because it's how the game knows what is what. The comments are for humans only!&lt;br /&gt;
&lt;br /&gt;
==Sound filenames==&lt;br /&gt;
&lt;br /&gt;
The structure &amp;lt;code&amp;gt;cg_customSoundNames&amp;lt;/code&amp;gt; in [https://github.com/TremZ/Unvanquished/blob/master/src/gamelogic/gpp/src/cgame/cg_players.c src/gamelogic/gpp/src/cgame/cg_players.c] contains a list of some sounds.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Credits/Media&amp;diff=9694</id>
		<title>Credits/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Credits/Media&amp;diff=9694"/>
				<updated>2026-10-07T14:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Licensing==&lt;br /&gt;
&lt;br /&gt;
{{Info media licenses}}&lt;br /&gt;
&lt;br /&gt;
==Unvanquished media licenses==&lt;br /&gt;
&lt;br /&gt;
This site should list license and author (according to the desired form of attribution) of '''every''' data file that is shipped with the game inside the &amp;lt;code&amp;gt;&amp;lt;filename&amp;gt;_&amp;lt;version&amp;gt;.dpk&amp;lt;/code&amp;gt; files. Please make sure you keep this site up to date when you contribute assets. Maps, even those that are shipped with the game, have to maintain and ship their own comprehensive license files, preferably as a text file in an &amp;lt;code&amp;gt;about/&amp;lt;/code&amp;gt; directory inside the DPK.&lt;br /&gt;
&lt;br /&gt;
If you are part of the development team, feel free to release your work in the name of “Unvanquished Development”. You can add a note that explains that you are the author.&lt;br /&gt;
&lt;br /&gt;
For each directory, add one entry for any number of files that has the same author. You can use &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as a wildcard character for file names. Separate multiple files with space. When multiple patterns match, the one that is highest in the list wins.&lt;br /&gt;
&lt;br /&gt;
Here are some tables summarizing asset licenses of files shipped with the game. Those tables are work in progress and may not contain all information we may have yet, and some packages may ship files from various sources. This is good enough to get a big picture.&lt;br /&gt;
&lt;br /&gt;
===Textures===&lt;br /&gt;
{{Table/Credits/Textures}}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* exm texture was relicensed to {{nowrap|CC BY-SA 4.0}} since evillair relicensed ex and Viech agreed to relicense his modifications too;&lt;br /&gt;
* cr4zy's tech zip contains a CC BY-NC-ND wording but he explicitely relicensed to CC BY SA 3.0 lately and it's now stated on his website;&lt;br /&gt;
* a texture provider made a special exception to allow EmperorJack to relicense ej01 to CC BY SA 3.0 at the condition we remove any reference to them;&lt;br /&gt;
* CC BY SA 3.0 asset modification allows mixup with CC BY SA 4.0,&amp;lt;br/&amp;gt;see https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses&lt;br /&gt;
&lt;br /&gt;
===Maps===&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Please look in map pak for some texture/sound files with other licenses.}}&lt;br /&gt;
{{Table/Credits/Maps}}&lt;br /&gt;
&lt;br /&gt;
===Models===&lt;br /&gt;
&lt;br /&gt;
There are three generations of models:&lt;br /&gt;
&lt;br /&gt;
* Generation 3, actual generation, high quality. Textures are high resolution and ships normal and specular maps. First person weapon models have hands with skeleton-based animations.&lt;br /&gt;
* Generation 2, legacy models, produced at the beginning of the project, medium quality. Texture resolution is high enough but lack normal and specular maps. First-person weapon models have hands with vertex-based animations.&lt;br /&gt;
* Generation 1, tremulous models, copied straight from Tremulous, low quality. Low texture resolution without normal and specular maps. First-person weapon models do not have hands.&lt;br /&gt;
{{Table/Credits/Models}}&lt;br /&gt;
&lt;br /&gt;
==Upcoming models==&lt;br /&gt;
&lt;br /&gt;
Those models may be added in game in the future:&lt;br /&gt;
{{Table/Credits/Upcoming models}}&lt;br /&gt;
&lt;br /&gt;
==Removed models==&lt;br /&gt;
&lt;br /&gt;
Those models were removed or replaced, there may be reusable for other features or by mods:&lt;br /&gt;
{{Table/Credits/Removed models}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9693</id>
		<title>Licenses/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Licenses/Media&amp;diff=9693"/>
				<updated>2026-10-07T14:25:26Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Info media licenses}}==Media credits==&lt;br /&gt;
&lt;br /&gt;
For per-media credits and licenses, see [[Credits/Media]].&lt;br /&gt;
&lt;br /&gt;
==Media licenses comparison==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Features&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Full&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Abbreviated&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Requires&amp;lt;br/&amp;gt;attribution?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;modification?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Allows&amp;lt;br/&amp;gt;relicensing?&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Human-readable&amp;lt;br/&amp;gt;license deed&amp;lt;/small&amp;gt;&lt;br /&gt;
! &amp;lt;small&amp;gt;Legal code&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Zero (Public Domain Dedication) 1.0&lt;br /&gt;
| {{nowrap|CC0 1.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/ deed]&lt;br /&gt;
| [https://creativecommons.org/publicdomain/zero/1.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 4.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 4.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/4.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 3.0 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 3.0}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/3.0/legalcode code]&lt;br /&gt;
|-&lt;br /&gt;
| Creative Commons Attribution-ShareAlike 2.5 Unported&lt;br /&gt;
| {{nowrap|CC BY-SA 2.5}}&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;done&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ✅&lt;br /&gt;
| class=&amp;quot;none&amp;quot; style=&amp;quot;text-align:center;&amp;quot; | ❌&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/ deed]&lt;br /&gt;
| [http://creativecommons.org/licenses/by-sa/2.5/legalcode code]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
They all allow commercial use.&lt;br /&gt;
&lt;br /&gt;
==Problematic licenses==&lt;br /&gt;
{{GDC non free}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Credits/Media&amp;diff=9692</id>
		<title>Credits/Media</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Credits/Media&amp;diff=9692"/>
				<updated>2026-10-07T14:24:00Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Licensing==&lt;br /&gt;
&lt;br /&gt;
{{Info media licenses}}&lt;br /&gt;
&lt;br /&gt;
{{GDC non free}}&lt;br /&gt;
&lt;br /&gt;
==Unvanquished media licenses==&lt;br /&gt;
&lt;br /&gt;
This site should list license and author (according to the desired form of attribution) of '''every''' data file that is shipped with the game inside the &amp;lt;code&amp;gt;&amp;lt;filename&amp;gt;_&amp;lt;version&amp;gt;.dpk&amp;lt;/code&amp;gt; files. Please make sure you keep this site up to date when you contribute assets. Maps, even those that are shipped with the game, have to maintain and ship their own comprehensive license files, preferably as a text file in an &amp;lt;code&amp;gt;about/&amp;lt;/code&amp;gt; directory inside the DPK.&lt;br /&gt;
&lt;br /&gt;
If you are part of the development team, feel free to release your work in the name of “Unvanquished Development”. You can add a note that explains that you are the author.&lt;br /&gt;
&lt;br /&gt;
For each directory, add one entry for any number of files that has the same author. You can use &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as a wildcard character for file names. Separate multiple files with space. When multiple patterns match, the one that is highest in the list wins.&lt;br /&gt;
&lt;br /&gt;
Here are some tables summarizing asset licenses of files shipped with the game. Those tables are work in progress and may not contain all information we may have yet, and some packages may ship files from various sources. This is good enough to get a big picture.&lt;br /&gt;
&lt;br /&gt;
===Textures===&lt;br /&gt;
{{Table/Credits/Textures}}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* exm texture was relicensed to {{nowrap|CC BY-SA 4.0}} since evillair relicensed ex and Viech agreed to relicense his modifications too;&lt;br /&gt;
* cr4zy's tech zip contains a CC BY-NC-ND wording but he explicitely relicensed to CC BY SA 3.0 lately and it's now stated on his website;&lt;br /&gt;
* a texture provider made a special exception to allow EmperorJack to relicense ej01 to CC BY SA 3.0 at the condition we remove any reference to them;&lt;br /&gt;
* CC BY SA 3.0 asset modification allows mixup with CC BY SA 4.0,&amp;lt;br/&amp;gt;see https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses&lt;br /&gt;
&lt;br /&gt;
===Maps===&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Please look in map pak for some texture/sound files with other licenses.}}&lt;br /&gt;
{{Table/Credits/Maps}}&lt;br /&gt;
&lt;br /&gt;
===Models===&lt;br /&gt;
&lt;br /&gt;
There are three generations of models:&lt;br /&gt;
&lt;br /&gt;
* Generation 3, actual generation, high quality. Textures are high resolution and ships normal and specular maps. First person weapon models have hands with skeleton-based animations.&lt;br /&gt;
* Generation 2, legacy models, produced at the beginning of the project, medium quality. Texture resolution is high enough but lack normal and specular maps. First-person weapon models have hands with vertex-based animations.&lt;br /&gt;
* Generation 1, tremulous models, copied straight from Tremulous, low quality. Low texture resolution without normal and specular maps. First-person weapon models do not have hands.&lt;br /&gt;
{{Table/Credits/Models}}&lt;br /&gt;
&lt;br /&gt;
==Upcoming models==&lt;br /&gt;
&lt;br /&gt;
Those models may be added in game in the future:&lt;br /&gt;
{{Table/Credits/Upcoming models}}&lt;br /&gt;
&lt;br /&gt;
==Removed models==&lt;br /&gt;
&lt;br /&gt;
Those models were removed or replaced, there may be reusable for other features or by mods:&lt;br /&gt;
{{Table/Credits/Removed models}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Template:GDC_non_free&amp;diff=9691</id>
		<title>Template:GDC non free</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Template:GDC_non_free&amp;diff=9691"/>
				<updated>2026-10-07T14:23:26Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: init&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|header=GDC sounds are not free&lt;br /&gt;
|content=The '''[https://sonniss.com/gdc-bundle-license/ #GAMEAUDIOGDC BUNDLE LICENSING AGREEMENT]''' may look free and very close to public domain at first glance (“''unlimited number of projects for the entirety of their life time''”, “''may use and modify the licensed sound effects for personal and commercial projects without attribution to the original creator''”, “''may publicly perform a reproduction of the sound effects over any form of medium''”…) but a clause make it non-free and incompatible with Unvanquished open source development. The problematic clause is:&lt;br /&gt;
&lt;br /&gt;
: ''This right does not extend to '''supplying the sound effects themselves''' whether as files''' or as the output of a device or service, where '''the sound effects rather than a project''' of the Licensee’s are what is being supplied.''&lt;br /&gt;
&lt;br /&gt;
This clause forbid us to host the sound files in public Git repositories like we do. For example such link would be illegal if it was a GDC sample:&lt;br /&gt;
https://github.com/UnvanquishedAssets/res-legacy_src.dpkdir/blob/master/sound/player/level4/taunt.flac&lt;br /&gt;
&lt;br /&gt;
A safe source for compatible sounds is Freesound with CC-By and CC0 filter:&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://freesound.org/search/?f=license%3A%28%22Attribution%22+OR+%22Creative+Commons+0%22%29 https://freesound.org/search/?f=license%3A(&amp;quot;Attribution&amp;quot;+OR+&amp;quot;Creative+Commons+0&amp;quot;)]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Template:Info_media_licenses&amp;diff=9690</id>
		<title>Template:Info media licenses</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Template:Info_media_licenses&amp;diff=9690"/>
				<updated>2026-10-07T14:22:56Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: add header to note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|header=Suitable licenses&lt;br /&gt;
|content=The following licenses are suitable for media files (images, models, sound files…):&lt;br /&gt;
&lt;br /&gt;
* [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0] or newer;&lt;br /&gt;
* [http://creativecommons.org/licenses/by/4.0 CC BY 4.0] or newer;&lt;br /&gt;
* [http://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0] or newer.&lt;br /&gt;
&lt;br /&gt;
The default contribution license is CC BY-SA 4.0, unless you specify another license, by contributing to Unvanquished you are placing your work under CC BY-SA 4.0 license. You must have right to.}}&lt;br /&gt;
&lt;br /&gt;
Older licenses like CC BY-SA 3.0, CC BY-SA 2.5, and CC BY-SA 3.0, CC BY-SA 2.5 are fairly acceptable for importing existing media. Many of our older media use such licenses, but please not use those older licenses for brand new content when you have full power to use latest version of those licenses. If you can get permission from original author to get a newer or more permissive license, please get it. For Creative Commons licenses older than 3.0, please ask us before merging.&lt;br /&gt;
&lt;br /&gt;
{{#ifeq: {{PAGENAME}}|Licenses/Media||See the page [[Licenses/Media]] for details.}}&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Daemon_based_games&amp;diff=9689</id>
		<title>Daemon based games</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Daemon_based_games&amp;diff=9689"/>
				<updated>2026-10-01T01:13:29Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Dæmon-based games}}&lt;br /&gt;
'''{{Daemon}}''' is the game engine powering Unvanquished. The {{engine}} is a fork of the '''XreaL engine''' through the '''ET:XreaL''' variant which derivates from both '''Quake 3 engine''' and '''Wolfenstein: Enemy Territory engine'''.&lt;br /&gt;
&lt;br /&gt;
While it is technically possible to use DaemonEngine to write or maintain a different game, based or not on Unvanquished, it is recommended to the candidate to read (and think over) how the [[Compatibility]] in engine and libengine API/ABI is kept.&lt;br /&gt;
&lt;br /&gt;
* {{engine|link=no}} repository: https://github.com/DaemonEngine/Daemon&lt;br /&gt;
&lt;br /&gt;
{{NoteOpenWolf}}&lt;br /&gt;
&lt;br /&gt;
== Released games ==&lt;br /&gt;
&lt;br /&gt;
=== Unvanquished ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' port.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' active, released (beta builds).&lt;br /&gt;
&lt;br /&gt;
'''[[Unvanquished]]''' is the game project maintaining the {{engine}}, first release happened on February 29, 2012 and is still releasing new versions 10 years later. Unvanquished derivates from the Tremulous game that was initially released as a standalone game on an engine derivated from ioquake3 in 2006, after having been a Quake 3 total conversion mod for some time.&lt;br /&gt;
&lt;br /&gt;
* Website: https://unvanquished.net&lt;br /&gt;
* Game code repositories: https://github.com/Unvanquished&lt;br /&gt;
* Game data repositories: https://github.com/UnvanquishedAssets&lt;br /&gt;
&lt;br /&gt;
== Unreleased game porting projects ==&lt;br /&gt;
&lt;br /&gt;
=== Smokin' Guns ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' port.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' playable as an Unvanquished mod, unreleased as a standalone game (on {{engine}}).&lt;br /&gt;
&lt;br /&gt;
* Website: https://www.smokin-guns.org&lt;br /&gt;
* Repositories: https://github.com/smokin-guns&lt;br /&gt;
&lt;br /&gt;
{{Note|content=The project demonstrated the ability to improve the {{engine}} by testing assets from more than one game, debugging and implementing fixes. It also helped to design some good practices in the way game assets can be built, as tools like [[Tools/Urcheon|Urcheon]] are thoughts to be reusable for more projects.}}&lt;br /&gt;
&lt;br /&gt;
The project has been dormant for a long time as most people involved were very busy on other projects and other things in their life. Players should use the ioquake3-based game for now.&lt;br /&gt;
&lt;br /&gt;
This is a project to port the '''Smokin' Guns game''' to the {{engine|link=no}}. The Smokin' Guns game already exist as a released standalone game running on ioquake3 engine, it derivates from the ''Western Quake 3'' total conversion mod.&lt;br /&gt;
&lt;br /&gt;
The project is to use the upstream {{engine|link=no}} and to port the specific Smokin' Guns game mechanics on it, without closing the door of importing improvement from the [[Unvanquished]] game code.&lt;br /&gt;
&lt;br /&gt;
Fixes for loading properly Smokin' Guns assets were upstreamed to the {{engine|link=no}}, and a some testing assets were produced to load Smokin' Guns maps with the Unvanquished game and the {{engine|link=no}} for testing purpose and to fix related issues. A mod for running Smokin' Guns on Unvanquished has been implemented. The Dæmon-based Smokin' Guns game is not standalone yet.&lt;br /&gt;
&lt;br /&gt;
A video demonstrating the Smokin' Guns game code running on Dæmon engine has been shown by slipher in 2026, followed by a server hosting a playable game (not all gameplays are playable yet):&lt;br /&gt;
&lt;br /&gt;
* https://forums.unvanquished.net/viewtopic.php?t=2618&lt;br /&gt;
&lt;br /&gt;
== Stopped new game projects ==&lt;br /&gt;
&lt;br /&gt;
=== UnrealArena ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' new game.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' stalled, early test builds published (not playable), unreleased.&lt;br /&gt;
&lt;br /&gt;
* Website: http://www.unrealarena.net&lt;br /&gt;
* Repositories: https://github.com/unrealarena&lt;br /&gt;
&lt;br /&gt;
{{Note|content=The project demonstrated the ability to follow the {{engine}} upstream and Unvanquished upstream as a basis for a game, merging improvements from upstream while the project lived its own life from writing source, creating levels and producing binaries.}}&lt;br /&gt;
&lt;br /&gt;
The project is currently stalled if the project managed to produce multiple build, there is nothing playable.&lt;br /&gt;
&lt;br /&gt;
'''Unreal Arena''' is a brand new game project (not a port) based on [[Dæmon]] and [[Unvanquished]] game code. The purpose is to provide the user two different teams, one using Quake III Arena movements and weapons, another one using Unreal Tournament movements and weapons, and let people frag together.&lt;br /&gt;
&lt;br /&gt;
The project managed to recreate a Quake 3 map (untextured) from scratch and publish some alpha build just making possible for a tester to load a map, join and navigate.&lt;br /&gt;
&lt;br /&gt;
=== Unnamed project ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' new game.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' unknown.&lt;br /&gt;
&lt;br /&gt;
There was also another project whose name wan't known to make a new game from scratch based on the {{engine}} (without reusing the [[Unvanquished]] game code) which is more about being an infantry war game. Few information had been know about it. While doing this effort, [[Special:Contributions/The_White_Lion|The White Lion]] produced a lot of very useful documentation in the [[Technical Documentation]] page, especially the ''Program Ignition and Initialization'' part and many other parts like ''Source Code Filesystem Tree Structure'' or ''System Architecture''.&lt;br /&gt;
&lt;br /&gt;
The project is probably inactive and very few information has been known about it, so it is supposedly stopped..&lt;br /&gt;
&lt;br /&gt;
== Stopped game remake projects ==&lt;br /&gt;
&lt;br /&gt;
=== FreeFort ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' remake.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' stalled, nothing testable.&lt;br /&gt;
&lt;br /&gt;
* Website: https://freefortgame.net&lt;br /&gt;
* Repositories: https://git.freefortgame.net/FreeFort&lt;br /&gt;
&lt;br /&gt;
'''FreeFort''' was an attempt to make a game based on the {{engine}} and the [[Unvanquished]] game code. The project was to remake a Team Fortress 2-like game as a fully free and libre open source game. The project stalled in its very early state and nothing has been released.&lt;br /&gt;
&lt;br /&gt;
The project is currently stopped.&lt;br /&gt;
&lt;br /&gt;
== Stopped game porting projects ==&lt;br /&gt;
&lt;br /&gt;
=== Xonotic ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' port.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' stalled, early test code buildable and runable (not playable), unreleased (on {{engine}}).&lt;br /&gt;
&lt;br /&gt;
* Website: https://xonotic.org&lt;br /&gt;
* Repositories: https://gitlab.com/xonotic&lt;br /&gt;
* Repository for the Q1VM glue: https://gitlab.com/xonotic/daemon-glue/&lt;br /&gt;
&lt;br /&gt;
{{Note|content=The project demonstrated the ability to have multiple teams from different games working on the same game engine and contributing heavily to its development, to stimulate cross-projects contribution, to make Free Software development community a better place with projects living together and helping each others, and to make the {{engine}} better.}}&lt;br /&gt;
&lt;br /&gt;
The project is currently stalled as all people involved in those various attempts became busy with other things in their life. Players should use the DarkPlaces-based game for now.&lt;br /&gt;
&lt;br /&gt;
There was multiple attempts to port the '''Xonotic game''' on the {{engine}}. Historically, Xonotic is running on the DarkPlaces engine. Xonotic as a released standalone game running on the DarkPlaces engine exists since September 8 2011 and is a fork (and continuation) of the defunct Nexuiz game initially released on May 31, 2005.&lt;br /&gt;
&lt;br /&gt;
The Darkplaces engine development was stalled and it was considered difficult to improve it for non-technical reasons because the DarkPlaces engine tries to keep compatibility with original Quake game and some improvements wanted for the need of Xonotic may break compatibility.&lt;br /&gt;
&lt;br /&gt;
On the other hand the {{engine}} can break things for the best (like fixing design issues) and was seen as a live project. Multiple people from Team Xonotic expressed the will to port their game on the {{engine|link=no}}.&lt;br /&gt;
&lt;br /&gt;
The project was to port the Xonotic game code on the {{engine|link=no}} (not rebasing on the [[Unvanquished]] game code).&lt;br /&gt;
&lt;br /&gt;
Such effort is not a an easy task because the {{engine|link=no}} is an engine derivating from Quake 3 engine while DarkPlaces engine derivates from Quake (the first) engine. Anyway, DarkPlaces already supports Quake 3 bsp files (map format) and most of Quake 3 shaders (material format) which are the ones natively supported by the {{engine|link=no}}, and Xonotic already uses those Quake 3 formats.&lt;br /&gt;
&lt;br /&gt;
The difficulty is that the Xonotic game code is written in QuakeC and is expected to run on a Q1VM, while Dæmon executes native code (currently sandboxed in NativeClient) compiled from generic languages like C or C++. There was multiple attempts to achieve the port, some people worked on source transpilers to convert the QuakeC code base to less exotic languages like C++ or Rust, others worked on writing a Q1VM expected to run on the Dæmon virtual machine.&lt;br /&gt;
&lt;br /&gt;
There was interesting progresses achieved by those various attempts, the team managed to produce a minimalistic Q1VM running some minimal QuakeC code base allowing to start the {{engine|link=no}}, load a map and walk around.&lt;br /&gt;
&lt;br /&gt;
Xonotic developers helped to split the {{engine|link=no}} and the Unvanquished game, developped some code to make the engine more standalone.&lt;br /&gt;
&lt;br /&gt;
Lots of features were implemented in the Dæmon renderer using Xonotic data files (maps, materials, textures…), for example the relief mapping feature was debugged and fixed using Xonotic maps and materials, or the ability to support both lose normal maps and normal maps embedded in height maps was implemented. Also a lot of rewrite was done to make the {{engine|link=no}} better and even helped Dæmon team to better understand some things to make the engine better, for example the multitextured material blending feature is a direct consequences from that, or the ability to support multiple formats of normal maps.&lt;br /&gt;
&lt;br /&gt;
The {{engine}} now provides some cvars to enable compatibility code to better support media files purposed for the DarkPlaces engine.&lt;br /&gt;
&lt;br /&gt;
This project also helped the Dæmon game engine to support both the newer DPK format and the legacy PK3 format at the same time, because Xonotic through Nexuiz has more than 15 years of history and there are thousands of maps out there so porting maps was not really an option.&lt;br /&gt;
&lt;br /&gt;
Xonotic data files (maps, materials, textures…) are still used today as test bed for the {{engine|link=no}} to test for regressions and to implement new features: Xonotic assets makes use of more rendering features than Unvanquished! For example the Xonotic assets may be used to test the sRGB lightmap technology we still need to implement.&lt;br /&gt;
&lt;br /&gt;
The Xonotic and Unvanquished teams became very close, and multiple Xonotic contributors also became contributors of {{Daemon}} and/or [[Unvanquished]] (TimePath, Mario, Melanosuchus, EACFreddy…), making the engine better, implementing features, etc. Some Unvanquished contibutors also started to help Xonotic as we still have common interests. For example Unvanquished contributors help Team Xonotic to maintain the {{Tools|NetRadiant}} level editor which is also the recommended level editor for Unvanquished.&lt;br /&gt;
&lt;br /&gt;
== Special mentions ==&lt;br /&gt;
&lt;br /&gt;
Those are not Dæmon-based projects but they are very close to what we do.&lt;br /&gt;
&lt;br /&gt;
=== KingpinQ3 ===&lt;br /&gt;
&lt;br /&gt;
'''Type:''' remake (on a custom XreaL port).&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Status:''' active, released (beta builds).&lt;br /&gt;
&lt;br /&gt;
This project is ''not'' running on the {{engine|link=no}} but on another fork of '''XreaL''' (like Dæmon), so technically both engines are very close and we share common interests. For example hypov8 from KingpinQ3 converted our new lasgun first person model to a usable third person model in Unvanquished!&lt;br /&gt;
&lt;br /&gt;
'''KingpinQ3''' is a remake of Xatrix Entertainment's '''Kingpin - Life of Crime game''' on an engine derivated from Quake 3 through the '''XreaL''' lineage like us!&lt;br /&gt;
&lt;br /&gt;
* Website: https://www.kingpinq3.com&lt;br /&gt;
* Downloads: https://www.kingpin.info/download/index.php?dir=kpq3/&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9688</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9688"/>
				<updated>2026-10-01T01:10:35Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Texturing features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the renderer implements an advanced templating system generating the smallest possible GLSL code for your hardware before the map is loaded. No compatibility branching is executed on the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it is still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9687</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9687"/>
				<updated>2026-10-01T01:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Texturing features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the renderer implements an advanced templating system generating the smallest possible GLSL code for your hardware before the map is loaded. No compatibility branching is executed on the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it is still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Daemon&amp;diff=9686</id>
		<title>Daemon</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Daemon&amp;diff=9686"/>
				<updated>2026-10-01T01:05:56Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Rendering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Dæmon Game Engine &amp;amp;mdash; Modern Cross-Platform Engine for Multiplayer FPS Games}}&lt;br /&gt;
Unvanquished development uses the {{engine}} to power the {{game}}, an ever-improving engine with a long list of modern features (see below). Dæmon is a maintained multiplatform 3D game engine tailored for first-person shooters, delivering 25 years of modernization after id Tech 3.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Engine history==&lt;br /&gt;
&lt;br /&gt;
{{Trivia|The ''Dæmon'' name comes from the ''old third-race “Unvanquised” mod project for Tremulous'' as the third team name.&lt;br /&gt;
&lt;br /&gt;
{{OldThirdRaceModToolNames}}}}&lt;br /&gt;
&lt;br /&gt;
{{NoteOpenWolf}}&lt;br /&gt;
&lt;br /&gt;
The '''Dæmon Game Engine''' can trace its lineage all the way back to Quake 3, integrating the various features and improvements from quite a few engines before it. It is historically based on ioquake3, Wolf:ET and XreaL, having crossed the path of former engine modernization efforts like TremFusion.&lt;br /&gt;
&lt;br /&gt;
The aim of Unvanquished Development is to make Dæmon the most modern and best available quake-derived FOSS engine.&lt;br /&gt;
&lt;br /&gt;
The {{engine}} is historically based on ioquake3, Wolf:ET and XreaL with its own features and improvements and is maintained by Dæmon Developers for the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
{{Game and engine lineage}}&lt;br /&gt;
&lt;br /&gt;
==Engine source code==&lt;br /&gt;
&lt;br /&gt;
The {{engine}} source tree is tracked on a dedicated repository to make contributions easier and help projects to port their game on it:&lt;br /&gt;
&lt;br /&gt;
* Dæmon engine repository: {{url|github.com/DaemonEngine/Daemon}}&lt;br /&gt;
&lt;br /&gt;
See the {{Engine code}} page for details.&lt;br /&gt;
&lt;br /&gt;
==Engine features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Of all features showcased by the Unvanquished game, some are implemented in the {{engine}}, some are implemented in the game code, like bot navigation, translation or RmlUi user interface, etc. and others in the updater/launcher. As a game developer if you want to make your own game you may want to reuse the engine and fork the Unvanquished game to use it as an upstream and be able to merge back our game code improvements to your game.}}&lt;br /&gt;
&lt;br /&gt;
==Multiplatform engine==&lt;br /&gt;
&lt;br /&gt;
{{DaemonPlatformSupport}}&lt;br /&gt;
&lt;br /&gt;
===Sandboxed multiplaform virtual machine===&lt;br /&gt;
&lt;br /&gt;
The game code is sandboxed and running in a virtual machine.&lt;br /&gt;
&lt;br /&gt;
For the virtual machine we currently use the [[Native Client]] (NaCl) technology. We have a long-term goal to replace NaCl with [https://webassembly.org/ WebAssembly] (Wasm) as industry shifted from NaCl to Wasm but we are waiting for Wasm to mature enough first.&lt;br /&gt;
&lt;br /&gt;
The virtualized game code is cross-platform: build it once, deliver it to players running on Windows, Linux and macOS. Once the engine runs on a platform, the game code runs.&lt;br /&gt;
&lt;br /&gt;
It makes very easy to modders to distribute their own game code to players on supported operating system, and it makes very easy to players to enjoy those mods since custom game code can be downloaded from servers while running it sandboxed.&lt;br /&gt;
&lt;br /&gt;
Unlike the old Q3VM technology we're not limited to the old C version supported by the non-free LCC compiler, and we can use third-party C++ libraries in the game code, while running it with close-to-the-metal performance in a sandboxed virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Rendering===&lt;br /&gt;
&lt;br /&gt;
* Modern OpenGL renderer with very large hardware support (from GL 2.1 to GL 4.6 with bindless textures),&amp;lt;br/&amp;gt;see the [[GPU compatibility matrix]];&lt;br /&gt;
* Improved Quake 3 shader (material) system:&lt;br /&gt;
** Procedural vertex deformation;&lt;br /&gt;
** Alpha mapping;&lt;br /&gt;
** Specular mapping (color and intensity);&lt;br /&gt;
** Physically based shading (PBR);&lt;br /&gt;
** Normal mapping;&lt;br /&gt;
** Relief mapping;&lt;br /&gt;
** Glow mapping;&lt;br /&gt;
** Multitextured terrain blending;&lt;br /&gt;
* Many special effects:&lt;br /&gt;
** Motion blur;&lt;br /&gt;
** Rim lighting;&lt;br /&gt;
** Bloom;&lt;br /&gt;
** Heat haze;&lt;br /&gt;
** FXAA;&lt;br /&gt;
* Outline fonts;&lt;br /&gt;
* Procedural animation blending.&lt;br /&gt;
&lt;br /&gt;
The [[Renderer FAQ]] answers many questions about the rendering architecture, hardware compatibility, and supported features!&lt;br /&gt;
&lt;br /&gt;
===Extensible virtual file system===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|DPK}} and [[Filesystem]] pages.&lt;br /&gt;
&lt;br /&gt;
Game data is distributed as a set of DPK packages, which are Zip archives storing files. Each file from each DPK packages is added to a virtual file system that is seen by the game. The game code is only allowed to explore that virtual file system (the game code is not allowed to explore the user's file system).&lt;br /&gt;
&lt;br /&gt;
This is very similar to the idSoftware PK3 and PK4 VFS but we extended it to solve various design issues: unlike PK3 and PK4 a DPK can provide a list of dependencies to load, so the game engine only loads the required packages for the current game and for the map currently played on.&lt;br /&gt;
&lt;br /&gt;
The dependency mechanism also allows a package to extend an older version of itself, either by adding files to the VFS, either by replacing files from older packages, making possible for a game project to deliver partial updates through light delta packages: with a suitable distribution system (see our [[Launcher|updater/launcher]]), players would only download the delta paks containing the new files when a new release is distributed.&lt;br /&gt;
&lt;br /&gt;
===Networking===&lt;br /&gt;
&lt;br /&gt;
* Remote administration support;&lt;br /&gt;
* Custom &amp;lt;code&amp;gt;unv://&amp;lt;/code&amp;gt; protocol to allow starting the game from a web browser or with an internet link;&lt;br /&gt;
* {{TODO|inline=true|Mumble integration, what's the status of it?}}&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
&lt;br /&gt;
* Curses-based console&lt;br /&gt;
&lt;br /&gt;
==Supported data formats==&lt;br /&gt;
&lt;br /&gt;
See [[Filesystem]] for instructions on how to package assets.&lt;br /&gt;
&lt;br /&gt;
===Image formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Image}} page.&lt;br /&gt;
&lt;br /&gt;
* CRN &amp;amp;mdash; optimized for GPU (like DDS), {{Recommended}};&lt;br /&gt;
* WebP &amp;amp;mdash; lossy and lossless, {{Recommended}} for skyboxes as lossy, and lightmaps as exact lossless;&lt;br /&gt;
* DDS &amp;amp;mdash; Direct Draw Surface, optimized for GPU, '''Well tested''';&lt;br /&gt;
* KTX &amp;amp;mdash; Khronos Texture, optimized for GPU, '''Poorly tested''';&lt;br /&gt;
* PNG &amp;amp;mdash; lossless and slow, {{Discouraged}};&lt;br /&gt;
* TGA &amp;amp;mdash; lossless but uncompressed, {{Discouraged}};&lt;br /&gt;
* JPEG &amp;amp;mdash; lossy, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Material formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Material}} page.&lt;br /&gt;
&lt;br /&gt;
* Quake 3 {{code|.shader}} materials;&lt;br /&gt;
* Dæmon {{code|.shader}} materials &amp;amp;mdash; extension of Quake 3 materials with pre-collapsed stages and some features from Doom 3 and Xreal, including fixes for regressions from Doom 3 like multitextured multistage materials (like multitextured terrain blending);&lt;br /&gt;
* DarkPlaces {{code|.shader}} materials &amp;amp;mdash; extension of Quake 3 materials with custom keywords (not all of them are supported) and implicit sidecar texture loading.&lt;br /&gt;
&lt;br /&gt;
Other formats like {{Formats|Particle}} and {{Formats|Trail}} formats are not implemented in engine but in Unvanquished game code.&lt;br /&gt;
&lt;br /&gt;
===Sound file formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Audio}} page.&lt;br /&gt;
&lt;br /&gt;
* Opus &amp;amp;mdash; lossy, {{Recommended}};&lt;br /&gt;
* OGG Vorbis &amp;amp;mdash; lossy, '''Well tested''';&lt;br /&gt;
* Wav &amp;amp;mdash; lossless but uncompressed, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Model formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Model}}, [[Modeling]] and {{Tutorials|Exporting models}} pages.&lt;br /&gt;
&lt;br /&gt;
* IQM &amp;amp;mdash; bone-based, {{Recommended}};&lt;br /&gt;
* MD5 &amp;amp;mdash; bone-based, '''Well tested''';&lt;br /&gt;
* MD3 &amp;amp;mdash; vertex-based, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Map formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|BSP}} and [[Mapping]] pages.&lt;br /&gt;
&lt;br /&gt;
* Quake 3 / Wolf:ET style BSP ({{code|IBSP46}}, {{code|IBSP47}}).&lt;br /&gt;
&lt;br /&gt;
==Engine related blog posts==&lt;br /&gt;
&lt;br /&gt;
{{TODO|Import to the wiki.}}&lt;br /&gt;
&lt;br /&gt;
* [https://unvanquished.net/announcing-daemon-engine-beta-0-52/ Announcing Dæmon engine Beta 0.52] by illwieckz;&lt;br /&gt;
* [https://unvanquished.net/upgrading-our-15-year-old-engine/ Upgrading our 15-year-old engine] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/first-engine-upgrade-merge/ Merge of the first batch of engine-upgrade changes] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/big-changes-to-the-filesystem/ Big changes to the Filesystem] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/moving-the-server-side-gamelogic-to-pnacl/ Moving the server-side gamelogic to PNaCl] by Kangz.&lt;br /&gt;
&lt;br /&gt;
=Non-engine features=&lt;br /&gt;
&lt;br /&gt;
==Game features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Those features are not implemented in {{engine}} but in '''Unvanquished game''' code.&lt;br /&gt;
&lt;br /&gt;
As a game developer if you want to make a game on {{engine}}, you may also want to fork the {{game}} and use it as an upstream to benefit from these features as well.}}&lt;br /&gt;
&lt;br /&gt;
Some of those features were previously living in the engine, but we moved them to the game code to make it easy to update them without releasing the engine, and to simplify the interactions between engine and game.&lt;br /&gt;
&lt;br /&gt;
===Localization===&lt;br /&gt;
&lt;br /&gt;
Localization is implemented in Unvanquished game code, it supports translation of C++ strings and RmlUI strings (starting with 0.53.0).&lt;br /&gt;
&lt;br /&gt;
===RmlUi user interface===&lt;br /&gt;
&lt;br /&gt;
See the [[UI]] page.&lt;br /&gt;
&lt;br /&gt;
The Unvanquished user interface is implemented using RmlUi (libRocket before 0.53.0) supporting RML and RCSS formats based on HTML4 and CSS2 standards (it supports transforms!).&lt;br /&gt;
&lt;br /&gt;
===Navigation meshes and bot behavior trees===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Navigation mesh}} and {{Formats|Behavior tree}} pages.&lt;br /&gt;
&lt;br /&gt;
Unvanquished implements navigation mesh based bot AI configured with behavior trees.&lt;br /&gt;
&lt;br /&gt;
===Gameplay features===&lt;br /&gt;
&lt;br /&gt;
* [[Voice say system]];&lt;br /&gt;
* Support for multiple [[Server/Map layout|build layouts]] per map.&lt;br /&gt;
&lt;br /&gt;
==Game formats==&lt;br /&gt;
&lt;br /&gt;
===Particles and trails===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Particle}} and {{Formats|Trail}} pages.&lt;br /&gt;
&lt;br /&gt;
Unvanquished implements particle and trails, the formats are the ones of Tremulous.&lt;br /&gt;
&lt;br /&gt;
==Launcher and updater features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Those features are not implemented in {{engine}} but in '''[[Launcher|Unvanquished launcher]]''' code.&lt;br /&gt;
&lt;br /&gt;
As a game developer if you want to make a game on {{engine}}, you may also want to fork the {{launcher}} and use it as an upstream to benefit from these features as well.}}&lt;br /&gt;
&lt;br /&gt;
See the [[Launcher]] page.&lt;br /&gt;
&lt;br /&gt;
===Auto updates===&lt;br /&gt;
&lt;br /&gt;
Our auto update mechanism is implemented as a game launcher. This is the icon the player executes to run the game. The engine itself is just an updatable file among others.&lt;br /&gt;
&lt;br /&gt;
The launcher checks for updates at startup. If there is an update, the update is downloaded and applied and the game is run. If there is no update, the game is run.&lt;br /&gt;
&lt;br /&gt;
===Peer-to-peer delta updates===&lt;br /&gt;
&lt;br /&gt;
The update is done using BitTorrent, enabling peer-to-peer download (reducing pressure on game infrastructure) and partial updates (see  [[#Extensible virtual file system]] on how the {{engine}} makes possible to ship updates as delta packages).&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
The updater also does extra configuration steps like setting-up the {{code|unv://}} protocol (see [[#Networking]]) to enable players to join games by clicking links on web pages.&lt;br /&gt;
&lt;br /&gt;
=Dæmon-based games=&lt;br /&gt;
&lt;br /&gt;
The {{game}} is currently the only released game running on the {{engine}}.&lt;br /&gt;
&lt;br /&gt;
Though, multiple projects are attempting to make games on or port games to the {{engine}}.&lt;br /&gt;
&lt;br /&gt;
See the [[Daemon based games]] page for more information.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Daemon&amp;diff=9685</id>
		<title>Daemon</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Daemon&amp;diff=9685"/>
				<updated>2026-10-01T01:05:00Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Rendering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Dæmon Game Engine &amp;amp;mdash; Modern Cross-Platform Engine for Multiplayer FPS Games}}&lt;br /&gt;
Unvanquished development uses the {{engine}} to power the {{game}}, an ever-improving engine with a long list of modern features (see below). Dæmon is a maintained multiplatform 3D game engine tailored for first-person shooters, delivering 25 years of modernization after id Tech 3.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Engine history==&lt;br /&gt;
&lt;br /&gt;
{{Trivia|The ''Dæmon'' name comes from the ''old third-race “Unvanquised” mod project for Tremulous'' as the third team name.&lt;br /&gt;
&lt;br /&gt;
{{OldThirdRaceModToolNames}}}}&lt;br /&gt;
&lt;br /&gt;
{{NoteOpenWolf}}&lt;br /&gt;
&lt;br /&gt;
The '''Dæmon Game Engine''' can trace its lineage all the way back to Quake 3, integrating the various features and improvements from quite a few engines before it. It is historically based on ioquake3, Wolf:ET and XreaL, having crossed the path of former engine modernization efforts like TremFusion.&lt;br /&gt;
&lt;br /&gt;
The aim of Unvanquished Development is to make Dæmon the most modern and best available quake-derived FOSS engine.&lt;br /&gt;
&lt;br /&gt;
The {{engine}} is historically based on ioquake3, Wolf:ET and XreaL with its own features and improvements and is maintained by Dæmon Developers for the Unvanquished project.&lt;br /&gt;
&lt;br /&gt;
{{Game and engine lineage}}&lt;br /&gt;
&lt;br /&gt;
==Engine source code==&lt;br /&gt;
&lt;br /&gt;
The {{engine}} source tree is tracked on a dedicated repository to make contributions easier and help projects to port their game on it:&lt;br /&gt;
&lt;br /&gt;
* Dæmon engine repository: {{url|github.com/DaemonEngine/Daemon}}&lt;br /&gt;
&lt;br /&gt;
See the {{Engine code}} page for details.&lt;br /&gt;
&lt;br /&gt;
==Engine features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Of all features showcased by the Unvanquished game, some are implemented in the {{engine}}, some are implemented in the game code, like bot navigation, translation or RmlUi user interface, etc. and others in the updater/launcher. As a game developer if you want to make your own game you may want to reuse the engine and fork the Unvanquished game to use it as an upstream and be able to merge back our game code improvements to your game.}}&lt;br /&gt;
&lt;br /&gt;
==Multiplatform engine==&lt;br /&gt;
&lt;br /&gt;
{{DaemonPlatformSupport}}&lt;br /&gt;
&lt;br /&gt;
===Sandboxed multiplaform virtual machine===&lt;br /&gt;
&lt;br /&gt;
The game code is sandboxed and running in a virtual machine.&lt;br /&gt;
&lt;br /&gt;
For the virtual machine we currently use the [[Native Client]] (NaCl) technology. We have a long-term goal to replace NaCl with [https://webassembly.org/ WebAssembly] (Wasm) as industry shifted from NaCl to Wasm but we are waiting for Wasm to mature enough first.&lt;br /&gt;
&lt;br /&gt;
The virtualized game code is cross-platform: build it once, deliver it to players running on Windows, Linux and macOS. Once the engine runs on a platform, the game code runs.&lt;br /&gt;
&lt;br /&gt;
It makes very easy to modders to distribute their own game code to players on supported operating system, and it makes very easy to players to enjoy those mods since custom game code can be downloaded from servers while running it sandboxed.&lt;br /&gt;
&lt;br /&gt;
Unlike the old Q3VM technology we're not limited to the old C version supported by the non-free LCC compiler, and we can use third-party C++ libraries in the game code, while running it with close-to-the-metal performance in a sandboxed virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Rendering===&lt;br /&gt;
&lt;br /&gt;
* Modern OpenGL renderer with very large hardware support (from GL 2.1 to GL 4.6 with bindless textures),&amp;lt;br/&amp;gt;see the [[GPU compatibility matrix]];&lt;br /&gt;
* Improved Quake 3 shader (material) system:&lt;br /&gt;
** Procedural vertex deformation;&lt;br /&gt;
** Alpha mapping;&lt;br /&gt;
** Specular mapping (color and intensity);&lt;br /&gt;
** Physically based shading (PBR);&lt;br /&gt;
** Normal mapping;&lt;br /&gt;
** Relief mapping;&lt;br /&gt;
** Glow mapping;&lt;br /&gt;
** Multitextured terrain blending;&lt;br /&gt;
* Many special effects:&lt;br /&gt;
** Motion blur;&lt;br /&gt;
** Rim lighting;&lt;br /&gt;
** Bloom;&lt;br /&gt;
** Heat haze;&lt;br /&gt;
** FXAA;&lt;br /&gt;
* Outline fonts;&lt;br /&gt;
* Procedural animation blending.&lt;br /&gt;
&lt;br /&gt;
The [[Renderer FAQ]] answers many questions about the architecture and the supported features!&lt;br /&gt;
&lt;br /&gt;
===Extensible virtual file system===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|DPK}} and [[Filesystem]] pages.&lt;br /&gt;
&lt;br /&gt;
Game data is distributed as a set of DPK packages, which are Zip archives storing files. Each file from each DPK packages is added to a virtual file system that is seen by the game. The game code is only allowed to explore that virtual file system (the game code is not allowed to explore the user's file system).&lt;br /&gt;
&lt;br /&gt;
This is very similar to the idSoftware PK3 and PK4 VFS but we extended it to solve various design issues: unlike PK3 and PK4 a DPK can provide a list of dependencies to load, so the game engine only loads the required packages for the current game and for the map currently played on.&lt;br /&gt;
&lt;br /&gt;
The dependency mechanism also allows a package to extend an older version of itself, either by adding files to the VFS, either by replacing files from older packages, making possible for a game project to deliver partial updates through light delta packages: with a suitable distribution system (see our [[Launcher|updater/launcher]]), players would only download the delta paks containing the new files when a new release is distributed.&lt;br /&gt;
&lt;br /&gt;
===Networking===&lt;br /&gt;
&lt;br /&gt;
* Remote administration support;&lt;br /&gt;
* Custom &amp;lt;code&amp;gt;unv://&amp;lt;/code&amp;gt; protocol to allow starting the game from a web browser or with an internet link;&lt;br /&gt;
* {{TODO|inline=true|Mumble integration, what's the status of it?}}&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
&lt;br /&gt;
* Curses-based console&lt;br /&gt;
&lt;br /&gt;
==Supported data formats==&lt;br /&gt;
&lt;br /&gt;
See [[Filesystem]] for instructions on how to package assets.&lt;br /&gt;
&lt;br /&gt;
===Image formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Image}} page.&lt;br /&gt;
&lt;br /&gt;
* CRN &amp;amp;mdash; optimized for GPU (like DDS), {{Recommended}};&lt;br /&gt;
* WebP &amp;amp;mdash; lossy and lossless, {{Recommended}} for skyboxes as lossy, and lightmaps as exact lossless;&lt;br /&gt;
* DDS &amp;amp;mdash; Direct Draw Surface, optimized for GPU, '''Well tested''';&lt;br /&gt;
* KTX &amp;amp;mdash; Khronos Texture, optimized for GPU, '''Poorly tested''';&lt;br /&gt;
* PNG &amp;amp;mdash; lossless and slow, {{Discouraged}};&lt;br /&gt;
* TGA &amp;amp;mdash; lossless but uncompressed, {{Discouraged}};&lt;br /&gt;
* JPEG &amp;amp;mdash; lossy, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Material formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Material}} page.&lt;br /&gt;
&lt;br /&gt;
* Quake 3 {{code|.shader}} materials;&lt;br /&gt;
* Dæmon {{code|.shader}} materials &amp;amp;mdash; extension of Quake 3 materials with pre-collapsed stages and some features from Doom 3 and Xreal, including fixes for regressions from Doom 3 like multitextured multistage materials (like multitextured terrain blending);&lt;br /&gt;
* DarkPlaces {{code|.shader}} materials &amp;amp;mdash; extension of Quake 3 materials with custom keywords (not all of them are supported) and implicit sidecar texture loading.&lt;br /&gt;
&lt;br /&gt;
Other formats like {{Formats|Particle}} and {{Formats|Trail}} formats are not implemented in engine but in Unvanquished game code.&lt;br /&gt;
&lt;br /&gt;
===Sound file formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Audio}} page.&lt;br /&gt;
&lt;br /&gt;
* Opus &amp;amp;mdash; lossy, {{Recommended}};&lt;br /&gt;
* OGG Vorbis &amp;amp;mdash; lossy, '''Well tested''';&lt;br /&gt;
* Wav &amp;amp;mdash; lossless but uncompressed, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Model formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Model}}, [[Modeling]] and {{Tutorials|Exporting models}} pages.&lt;br /&gt;
&lt;br /&gt;
* IQM &amp;amp;mdash; bone-based, {{Recommended}};&lt;br /&gt;
* MD5 &amp;amp;mdash; bone-based, '''Well tested''';&lt;br /&gt;
* MD3 &amp;amp;mdash; vertex-based, {{Discouraged}}.&lt;br /&gt;
&lt;br /&gt;
===Map formats===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|BSP}} and [[Mapping]] pages.&lt;br /&gt;
&lt;br /&gt;
* Quake 3 / Wolf:ET style BSP ({{code|IBSP46}}, {{code|IBSP47}}).&lt;br /&gt;
&lt;br /&gt;
==Engine related blog posts==&lt;br /&gt;
&lt;br /&gt;
{{TODO|Import to the wiki.}}&lt;br /&gt;
&lt;br /&gt;
* [https://unvanquished.net/announcing-daemon-engine-beta-0-52/ Announcing Dæmon engine Beta 0.52] by illwieckz;&lt;br /&gt;
* [https://unvanquished.net/upgrading-our-15-year-old-engine/ Upgrading our 15-year-old engine] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/first-engine-upgrade-merge/ Merge of the first batch of engine-upgrade changes] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/big-changes-to-the-filesystem/ Big changes to the Filesystem] by Kangz;&lt;br /&gt;
* [https://unvanquished.net/moving-the-server-side-gamelogic-to-pnacl/ Moving the server-side gamelogic to PNaCl] by Kangz.&lt;br /&gt;
&lt;br /&gt;
=Non-engine features=&lt;br /&gt;
&lt;br /&gt;
==Game features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Those features are not implemented in {{engine}} but in '''Unvanquished game''' code.&lt;br /&gt;
&lt;br /&gt;
As a game developer if you want to make a game on {{engine}}, you may also want to fork the {{game}} and use it as an upstream to benefit from these features as well.}}&lt;br /&gt;
&lt;br /&gt;
Some of those features were previously living in the engine, but we moved them to the game code to make it easy to update them without releasing the engine, and to simplify the interactions between engine and game.&lt;br /&gt;
&lt;br /&gt;
===Localization===&lt;br /&gt;
&lt;br /&gt;
Localization is implemented in Unvanquished game code, it supports translation of C++ strings and RmlUI strings (starting with 0.53.0).&lt;br /&gt;
&lt;br /&gt;
===RmlUi user interface===&lt;br /&gt;
&lt;br /&gt;
See the [[UI]] page.&lt;br /&gt;
&lt;br /&gt;
The Unvanquished user interface is implemented using RmlUi (libRocket before 0.53.0) supporting RML and RCSS formats based on HTML4 and CSS2 standards (it supports transforms!).&lt;br /&gt;
&lt;br /&gt;
===Navigation meshes and bot behavior trees===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Navigation mesh}} and {{Formats|Behavior tree}} pages.&lt;br /&gt;
&lt;br /&gt;
Unvanquished implements navigation mesh based bot AI configured with behavior trees.&lt;br /&gt;
&lt;br /&gt;
===Gameplay features===&lt;br /&gt;
&lt;br /&gt;
* [[Voice say system]];&lt;br /&gt;
* Support for multiple [[Server/Map layout|build layouts]] per map.&lt;br /&gt;
&lt;br /&gt;
==Game formats==&lt;br /&gt;
&lt;br /&gt;
===Particles and trails===&lt;br /&gt;
&lt;br /&gt;
See the {{Formats|Particle}} and {{Formats|Trail}} pages.&lt;br /&gt;
&lt;br /&gt;
Unvanquished implements particle and trails, the formats are the ones of Tremulous.&lt;br /&gt;
&lt;br /&gt;
==Launcher and updater features==&lt;br /&gt;
&lt;br /&gt;
{{Note|content=Those features are not implemented in {{engine}} but in '''[[Launcher|Unvanquished launcher]]''' code.&lt;br /&gt;
&lt;br /&gt;
As a game developer if you want to make a game on {{engine}}, you may also want to fork the {{launcher}} and use it as an upstream to benefit from these features as well.}}&lt;br /&gt;
&lt;br /&gt;
See the [[Launcher]] page.&lt;br /&gt;
&lt;br /&gt;
===Auto updates===&lt;br /&gt;
&lt;br /&gt;
Our auto update mechanism is implemented as a game launcher. This is the icon the player executes to run the game. The engine itself is just an updatable file among others.&lt;br /&gt;
&lt;br /&gt;
The launcher checks for updates at startup. If there is an update, the update is downloaded and applied and the game is run. If there is no update, the game is run.&lt;br /&gt;
&lt;br /&gt;
===Peer-to-peer delta updates===&lt;br /&gt;
&lt;br /&gt;
The update is done using BitTorrent, enabling peer-to-peer download (reducing pressure on game infrastructure) and partial updates (see  [[#Extensible virtual file system]] on how the {{engine}} makes possible to ship updates as delta packages).&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
The updater also does extra configuration steps like setting-up the {{code|unv://}} protocol (see [[#Networking]]) to enable players to join games by clicking links on web pages.&lt;br /&gt;
&lt;br /&gt;
=Dæmon-based games=&lt;br /&gt;
&lt;br /&gt;
The {{game}} is currently the only released game running on the {{engine}}.&lt;br /&gt;
&lt;br /&gt;
Though, multiple projects are attempting to make games on or port games to the {{engine}}.&lt;br /&gt;
&lt;br /&gt;
See the [[Daemon based games]] page for more information.&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9684</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9684"/>
				<updated>2026-10-01T01:03:15Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the renderer implements an advanced templating system generating the smallest possible GLSL code for your hardware before the map is loaded. No compatibility branching is executed on the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9683</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9683"/>
				<updated>2026-10-01T01:01:48Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the renderer implements an advanced templating system generating the smallest GLSL code possible for your hardware before the map is loaded. No compatibility branching is executed on the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9682</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9682"/>
				<updated>2026-10-01T01:00:35Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the renderer implements an advanced templating system generating the smallest GLSL code possible for your hardware. No compatibility branching is executed on the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9681</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9681"/>
				<updated>2026-10-01T01:00:00Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the code running on my GPU contains alternative code paths for every supported hardware?&lt;br /&gt;
'''A:''' No, the rendered implements an advanced templating system generating the smallest GLSL code possible for your hardware. No compatibility branching is executed by the GPU and no superfluous code is stored in VRAM.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9680</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9680"/>
				<updated>2026-10-01T00:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement realtime lights?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, implemented using tiled techniques.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9679</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9679"/>
				<updated>2026-10-01T00:46:50Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Lighting Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
==Texturing features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
==Format features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
==Tremulous features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Nothing other than {{code|alphaGen lightingSpecular}}. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9678</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9678"/>
				<updated>2026-10-01T00:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light styles (multiple lightmaps blended at runtime for special effects)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9677</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9677"/>
				<updated>2026-10-01T00:41:26Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format ({{code|IBSP46}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format ({{code|IBSP47}})?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9676</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9676"/>
				<updated>2026-10-01T00:40:46Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Quake 3 BSP map format (IBSP46)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the Wolf:ET BSP map format (IBSP47)?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any other BSP map format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9675</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9675"/>
				<updated>2026-10-01T00:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a baseline and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9674</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9674"/>
				<updated>2026-10-01T00:27:28Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9673</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9673"/>
				<updated>2026-10-01T00:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load.  It is not done while playing.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9672</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9672"/>
				<updated>2026-10-01T00:25:38Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at game start and map load. It is not done every frame.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9671</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9671"/>
				<updated>2026-10-01T00:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine executable run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9670</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9670"/>
				<updated>2026-10-01T00:23:59Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Hardware Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine run either on old or new hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling extensions from higher OpenGL versions when supported, this is done when the game starts. For even older hardware, older OpenGL versions and extensions are selected when the game starts and functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9669</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9669"/>
				<updated>2026-10-01T00:23:01Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL renderer supports the most recent OpenGL versions?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports OpenGL 4.6 (which is the most recent OpenGL version) and can even rely on OpenGL extensions that are not part of OpenGL 4.6 like bindless textures.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a single engine run either on old or newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the wide compatibility range is achieved by loading OpenGL 3.1 as a base and selectively enabling higher extensions when supported, this is done when the game starts. For even older hardware, older OpenGL and extensions are selected when the game starts and  functions with alternative implementations are selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9668</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9668"/>
				<updated>2026-09-30T22:46:26Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Map compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the game code and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9667</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9667"/>
				<updated>2026-09-30T22:42:23Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you keep support for old hardware in the OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the gamecode and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to roll back the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to &amp;lt;code&amp;gt;r_overbrightBits 2&amp;lt;/code&amp;gt;). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of &amp;lt;code&amp;gt;r_overbrightBits 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9664</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9664"/>
				<updated>2026-09-30T22:18:51Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Lighting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you will keep the old hardware compatibility in OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the gamecode and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to rollback the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, our first fix was incomplete when we released it first, we then shipped an additional fix to finish the compatibility support. It's incremental improvement.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting is planned, work is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9663</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9663"/>
				<updated>2026-09-30T22:18:05Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Map compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you will keep the old hardware compatibility in OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the gamecode and then such support is out of scope. It may or may not be supported in the game code, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to rollback the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, our first fix was incomplete when we released it first, we then shipped an additional fix to finish the compatibility support. It's incremental improvement.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting work is planned, it is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	<entry>
		<id>https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9662</id>
		<title>Renderer FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.unvanquished.net/index.php?title=Renderer_FAQ&amp;diff=9662"/>
				<updated>2026-09-30T22:17:22Z</updated>
		
		<summary type="html">&lt;p&gt;Illwieckz: /* Map compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''I see a lot of ugly color banding, is this a bug? How to fix?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' You have linear lighting enabled with high-precision rendering disabled, reapply your preferred graphics preset to fix it.&lt;br /&gt;
&lt;br /&gt;
==Hardware Compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you have a plan for Vulkan?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, a Vulkan renderer is in development.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide a renderer free of support from very old hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, the Vulkan renderer is meant to drop support for very old hardware.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the OpenGL rendered have old hardware compatibility?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, it supports down to OpenGL 2.1.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the old-OpenGL compatibility mode slow down the renderer on newer hardware?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the old-OpenGL or new-OpenGL execution path is selected at map load.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you will keep the old hardware compatibility in OpenGL renderer?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, since the Vulkan renderer drops the support for very old hardware, we don't have to drop that support in OpenGL to provide a relic-free renderer.&lt;br /&gt;
&lt;br /&gt;
==Map compatibility==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you care about compatibility with legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we consider legacy maps from the id Tech 3 generation (Quake 3, Tremulous, Wolf: ET…) should be supported and rendered the way they were.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the compatibility with legacy maps considered complete?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, except the {{code|alphaGen lightingSpecular}} feature (see below), everything should now be supported.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the map features from any game code or mod from the id Tech 3 ecosystem supported?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' ''No, some historical map features are not implemented in the renderer but in the original gamecode and then such support is out of scope. It may or may not be supported, but it's not a renderer duty.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you promise to be compatible with every experimental pre-release unfinished concept map that may be found in leaked dumps or attics?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, if it works, good for you; if it's easy to make it work, we may have a look; if you propose a patch, we may accept it.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you change the way the map lighting was rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, but we added a new way to process lighting (linear lighting, aka sRGB support).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does the linear lighting (sRGB support) change the way existing maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Can a legacy map be mistakenly rendered with the linear lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, maps have to be explicitly rebuilt for the linear lighting for the engine to use linear lighting.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Does rebuilding a map with linear lighting change the way maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, that's the purpose, the equations were not physically correct before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is it still possible to rebuild maps the old way?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we provide multiple old map build presets. The renderer keeps the support for what is built the old way.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did the overbright patches change the way legacy maps are rendered?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, they restored the way legacy maps were rendered. Previously we had a bug, so if you see a change, it's because a bug was misrendering something before.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Did you have to rollback the overbright support?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, our first fix was incomplete when we released it first, we then shipped an additional fix to finish the compatibility support. It's incremental improvement.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Is the original overbright configuration used when rendering legacy maps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, when rendering legacy maps (or maps built the old way), the default overbright settings are the ones from the reference id Tech 3 experience which was “players playing full-screen on Windows”, we also have historical screenshots showing unambiguously that such overbright configuration was the expected behaviour in Tremulous time as well.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support other overbright variants?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, mappers can customize the overbright feature using specific keys in the worldspawn entity, it is modifiable both in map source and precompiled BSP using existing tools.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you implement tone mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting and tone mapping meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, they even work better together.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Will you provide adaptive lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Adaptive lighting work is planned, it is in progress but not merged yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Are the linear lighting (sRGB support) and adaptive lighting meant to work together?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, in fact, both linear lighting, tone mapping and adaptive lighting are not only meant to work together, they are cumulative. Adaptive lighting requires tone mapping to work and requires linear lighting to be correct.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support vertex lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid lighting?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support light mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support grid deluxe mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support external lightmaps?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support mixed vertex lighting and light mapping on world surfaces?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support terrain blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, including with multitextured materials.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support recursive portals and mirrors?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support portal alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support distance-based alpha blending?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes, we do support {{code|alphaGen portal}}.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support heat Haze materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support water materials?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No, the code is there but broken, we haven't fixed it yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support specular mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support normal mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support height mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support PBR?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support cube mapping?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Mostly, but it still work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old TGA image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern image format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: JPG, PNG, WebP, DDS, KTX, CRN.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old WAV sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern sound format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: Ogg Vorbis and Opus.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old MD3 model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern model format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes: MD5Mesh/Anim, and IQM (InterQuake Model).&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support skeleton models?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|videoMap}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support the old RoQ video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Yes.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support any more modern video format?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet.&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you support {{code|alphaGen lightingSpecular}}?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' Not yet: [[Formats/Known regressions since Tremulous]]&lt;br /&gt;
&lt;br /&gt;
'''Q:''' ''Do you know any other renderer regression since Tremulous?''&amp;lt;br/&amp;gt;&lt;br /&gt;
'''A:''' No. If you find one, please report: [https://github.com/DaemonEngine/Daemon/issues issue tracker]&lt;/div&gt;</summary>
		<author><name>Illwieckz</name></author>	</entry>

	</feed>