XenEngine: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
  
  
  
  
  
  
 Note:Although it uses Team Fortress 2 engine as a base, this engine does not provide VScript system, and additional features introduced in later versions of Source 2013 Multiplayer and Team Fortress 2 branch, since these features came out in the game much later than first Xengine versions were released.
Note:Although it uses Team Fortress 2 engine as a base, this engine does not provide VScript system, and additional features introduced in later versions of Source 2013 Multiplayer and Team Fortress 2 branch, since these features came out in the game much later than first Xengine versions were released.
 Note:
Note: 
	
	
 Tip:The authoring tools for this branch have been released and are available directly from
Tip:The authoring tools for this branch have been released and are available directly from  
 Note:There is no source code for this branch. However, you still can heavily modify the Qt UI via
Note:There is no source code for this branch. However, you still can heavily modify the Qt UI via  QML programming language.
 QML programming language.
 Note:All the shaders (including new lighting, etc) are stored in
Note:All the shaders (including new lighting, etc) are stored in  
		
	
| m (Already mentioned so I don't think that's needed.) | MyGamepedia (talk | contribs)  No edit summary | ||
| (115 intermediate revisions by 12 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{LanguageBar}} | ||
| {{ | {{Bms topicon}} | ||
| {{Infobox engine | |||
| | title		 = XenEngine branch | |||
| | image2		 = BMS_-_Screenshot_7.jpg | |||
| | imagetooltip2 = In-game screenshot of {{bms|3.1}} during [[Xen]] chapter. New godrays and other post-processing effect can be seen here. | |||
| | developer	 = Crowbar Collective | |||
| | releasedates	 = May 5, 2015 | |||
| | platform	 = {{Win|1}}</br>{{mac|1}}</br>{{linux|1}}</br>{{switch|1}} | |||
| | sdk		 = {{srcsdk|1}} ({{code|bin}} folder)</br>{{srcsdk13sp|1|nt=short}}</br>{{srcsdk13mp|1|nt=short}} (Legacy, prior to 2025) | |||
| | forkfrom		 = {{src13mp|2}}</br><small>(with {{tf2}} additions & some {{l4dbranch}} and {{p2branch}} code)</small> | |||
| | latest_releasedates	 = Actively developed | |||
| }} | |||
| {{Xe|4}} (also mentioned as '''SourceNEXTGEN''' and '''Black Mesa Engine''') is a third-party {{Source|4|nt=1}} branch using licenced code, created by the Crowbar Collective for {{bms|3.1}}. It is a modified version of {{src13mp|4}} with additions from {{tf2|4}}, whose development was influenced by the limitations of {{src|1}}. Although initially only [[CSM|Cascade Shadow Mapping]] was planned, Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of {{wiki|deferred lighting|icon=hide}}. Besides using {{tf2|3.1}}'s engine version as a base, this engine version is also a hybrid of the {{portal2branch|1}} and {{l4dbranch|1}}. | |||
| {{note|Although it uses {{tf2|3.1}} engine as a base, this engine does not provide [[VScript]] system, and additional features introduced in later versions of {{src13mp|1}} and {{tf2branch|1}}, since these features came out in the game much later than first [[Xengine]] versions were released.}} | |||
| == Features == | == Features == | ||
| * '''Engine''' | * '''Engine''' | ||
| ** Entity  | ** Entity and Displacement Limit upgraded from 4k to 8k. | ||
| **  | ** Backported a lot of optimizations from {{l4d|4}} and {{portal2|4}}. | ||
| ** Backported some entities from {{l4d|4}} and {{portal2|4}}. | |||
| ** Improved AI, whose behavior depends on the current difficulty level (some [[NPC]]s also support Main and Assault Behavior Trees from the {{Code|ai}} folder). | |||
| ** [[Light dynamic|Dynamic lights]] on a [[lightmap]] were swapped with new deferred lights, which have better performance. | |||
| ** [[wikipedia:Deferred shading|Gbuffer]] that allows the addition of some modern, difficult-to-make effects. | |||
| ** Made from scratch [[Qt]] UI with the ability to be customized and add new stuff without limitations ([[VGUI]] can be reenabled with <code>-oldgameui</code> launch parameter). | |||
| ** Uses {{w|Fast_approximate_anti-aliasing|'''F'''ast Appro'''X'''imate '''A'''nti-'''A'''liasing}} (FXAA) instead of {{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) for [[anti-aliasing]]. | |||
| ** New and extended Post Processor. | |||
| ** Native {{linux|4}} support. | |||
| ** Improved DirectX 9.0c shaders | |||
| <!-- **[[Vulkan]] graphics API {{hl2|also|addtext={{portal}}{{rr}}{{l4d2}}{{portal2}}{{csgo}}}} A successor to OpenGL. --> | |||
| ** Enhanced multiplayer with fixes for the client and server. | |||
| ** [[Music track|Dynamic music system]]. | |||
| ** Most of Source's existing shaders have been rewritten in SM3, in order to be displayed properly with deferred rendering. | |||
| *'''Visuals''' | *'''Visuals''' | ||
| ** 4Way blends with support for 4  | ** [[Lightmapped_4WayBlend|4Way blends]] with support for 4 bumpmaps and tri-planar mapping, enabling all the options from other material shaders. | ||
| ** [[Cascaded Shadow Mapping]] with  | ** [[Cascaded Shadow Mapping]] with [[viewmodel]] self-shadowing. | ||
| **[[Parallax mapping|Parallax Occlusion Mapping]]. | ** [[Parallax mapping|Parallax Occlusion Mapping]]. | ||
| ** | ** [[$moss_enable|Procedural Moss]]. | ||
| ** Dynamic  | ** [[Deferred lighting]] - A technique that allows lights to be rendered with [[cheap|little]] performance loss. | ||
| **[[ | ** Dynamic lighting system with [[Physically Based Rendering|PBR]]-based lighting and [[New Specular|speculars]]. | ||
| ** PCCS-based soft shadows. | |||
| ** Light cookies for both new [[newLight_Point|point light]] and new [[newLight_Spot|spot light]], the last can be animated. | |||
| ** Support for up to 2K dynamic lights per scene and all rendering features on secondary render targets (reflection/refraction, monitors, TV screens, etc.) | ** Support for up to 2K dynamic lights per scene and all rendering features on secondary render targets (reflection/refraction, monitors, TV screens, etc.) | ||
| **Optimized shaders for faster compilation and better runtime performance. | ** Upgraded flashlight using the new deferred lighting system. | ||
| ** Godrays with disk for both the [[newLight_Dir|sun]] and local lights (which also support the "Fancy" godrays type). | |||
| ** [[newxog_global|Screenspace Fog ("Xog")]], that can be applied globally or locally using cuboid/ellipsoid volumes. | |||
| ** [[Water (shader)#Flowing water|Flowing water]]. | |||
| **[[$treeSway|Swaying trees]]. | |||
| ** Cinematic [[env_lensflare|lens flares]]. | |||
| ** [[$web_shader|Web shader]]. | |||
| ** Upgraded [[Env tonemap controller|tonemapping]] with bloom which uses a modified version of the Reinhard filter. | |||
| ** Optimized shaders for faster compilation and better runtime performance. | |||
| * '''Tools''' | * '''Tools''' | ||
| ** In-game  | ** In-game [[New Lights Editor|new lights editor]] and [[Xog Editor|xog editor]]. | ||
| ** Multiple [[VRAD]] upgrades, such as support for Alpha-Tested textures, 4-way blends, and more. | ** Multiple [[VRAD]] upgrades, such as support for Alpha-Tested textures, 4-way blends, baked [[VRAD#Effects|Ambient Occlusion]], [[VRAD#Effects|Real Sky Ambient Light]], and more. | ||
| ** 64-bit shader compiler. | |||
| === Removed === | |||
| *; [[DirectX]] compatibility levels support lower than 9.0 ({{code|dxlevel 90}}) | |||
| : Support for DirectX [[DirectX Versions#DirectX 8.1|8.1]] and [[DirectX Versions#DirectX 8|8]] GPUs has been dropped, and never supported anyway due to [[deferred lighting]] only support DirectX 9 and many players already have DirectX 9 capable graphics card. Early DirectX 9.0 graphics card without Shader Model 3.0 are also dropped. | |||
| *; [[env_projectedtexture|Projected textures]] | |||
| : The entity was removed because it renders scene twice, making it very expensive. | |||
| *; [[Anti-aliasing#MSAA|MSAA anti-aliasing]] | |||
| : While MSAA technically produce sharper results than any post-processing based methods like FXAA and TAA, due to MSAA being complex to implement on deferred renderer (also includes deferred lighting), which also makes it more [[expensive]] than forward renderer, and because of Xengine implementation of deferred lighting causing MSAA to have [https://steamcommunity.com/sharedfiles/filedetails/?id=1960023856 haloing/outline effect], this anti-aliasing method was replaced with [[Anti-aliasing#FXAA|FXAA]]. | |||
| {{note|{{cmd|mat_antialias}} console variable still exists, however, it doesn't take any values except 0.}}  | |||
| *; Reflections from {{ent|func_reflective_glass}} | |||
| : The entity is still available, but the shader is not ported, it shows [[wireframe]] instead of reflection. | |||
| *; [[WorldVertexTransition]] | |||
| : The shader is not ported. All the features is available in [[LightmappedGeneric]]. | |||
| == System Requirements == | |||
| {{Sysreq | |||
| |OSfamily = Windows | |||
| |minOS    = {{win10|1|nt=10}} | |||
| |minCPU   = 2.6GHz Dual Core Processor or Greater | |||
| |minRAM   = 6 GB RAM | |||
| |minHD    = 30 GB | |||
| |minGPU   = DirectX 9.0 Shader Model 3 capable<br>2 GB VRAM | |||
| |minother =  | |||
| |recOS    = {{blank}} | |||
| |recCPU   = 3.2GHz Quad Core Processor or Greater | |||
| |recRAM   = 8 GB | |||
| |recHD    = {{blank}} | |||
| |recGPU   = DirectX 9.0 Shader Model 3 capable<br>4 GB VRAM or greater | |||
| }} | |||
| {{Sysreq | |||
| |OSfamily = Linux | |||
| |minOS    = Ubuntu 14.0+ or other Linux distros | |||
| |minCPU   = 2.6GHz Dual Core Processor or Greater | |||
| |minRAM   = 4 GB RAM | |||
| |minHD    = 30 GB | |||
| |minGPU   = Vulkan 1.3 capable<br>2 GB VRAM | |||
| |minother = NVIDIA - Does not support the {{w|nouveau (software)|Nouveau display driver}} | |||
| |recOS    = {{blank}} | |||
| |recCPU   = 3.2GHz Quad Core Processor or Greater | |||
| |recRAM   = 6 GB | |||
| |recHD    = {{blank}} | |||
| |recGPU   = Vulkan 1.3 capable<br>3 GB VRAM or greater | |||
| |recother = NVIDIA - Does not support the {{w|nouveau (software)|Nouveau display driver}} | |||
| }} | |||
| == Media == | == Media == | ||
| Line 26: | Line 112: | ||
| |[[File:GodraysInWater 1.jpg|500px|center]] | |[[File:GodraysInWater 1.jpg|500px|center]] | ||
| |[[File:Asheep - Screenshot 7.jpg|500px|center]] | |[[File:Asheep - Screenshot 7.jpg|500px|center]] | ||
| |[[File:BMS -  | |[[File:BMS - Screenshot 3.jpg|500px|center]] | ||
| |[[File:BMBO - Screenshot 2.jpg|500px|center]] | |[[File:BMBO - Screenshot 2.jpg|500px|center]] | ||
| |[[File:BMS -  | |[[File:BMS - Screenshot 10.jpg|500px|center]] | ||
| |} | |} | ||
| </div> | </div> | ||
| ==Availability== | ==Availability and usage== | ||
| {{tip|The authoring tools for this branch  | {{tip|The authoring tools for this branch have been released and are available directly from {{path|Black Mesa\bin\}}.}} | ||
| * {{bms|4}} | {{note|There is no source code for this branch. However, you still can heavily modify the [[Qt]] UI via {{wiki|QML}} programming language.}} | ||
| ** {{ | {{note|All the shaders (including new lighting, etc) are stored in {{path|Black Mesa\hl2\hl2_misc_dir.vpk}}.}} | ||
| ** {{bmsas|4}} | * {{Code|2020}} {{bms|4}} | ||
| ** {{ | ** {{Code|2017}} {{bmsbo|4}} <small>(restored version)<big> | ||
| ** {{Code|2020}} {{bmsas|4}} | |||
| ** {{Code|2025}} {{bmsbs|4}} | |||
| == See also == | == See also == | ||
| Line 48: | Line 136: | ||
| == External links == | == External links == | ||
| *[https://chetanjags.wordpress.com/category/blackmesa-source-engine/ Chetan Jag's Blog] about XenEngine | *[https://chetanjags.wordpress.com/category/blackmesa-source-engine/ Chetan Jag's Blog] about XenEngine | ||
| *[https://doc.qt.io/qt-6/qtqml-index.html Qt Qml 6.8.1]- half of the documentation for Qt UI. You'll need it if you want to edit Qt UI for your {{bms|4}} mods. | |||
| {{branch-navbox}} | |||
| [[Category:Third-Party Engine Branches]] | |||
Latest revision as of 12:51, 23 October 2025
XenEngine branch
In-game screenshot of Black Mesa during Xen chapter. New godrays and other post-processing effect can be seen here.
Developer(s)
  Crowbar Collective
Release date(s)
  May 5, 2015
Latest release(s)
  Actively developed
Platform(s)
  
SDK
  
Forked from
  
 Xengine (also mentioned as SourceNEXTGEN and Black Mesa Engine) is a third-party
 Xengine (also mentioned as SourceNEXTGEN and Black Mesa Engine) is a third-party  Source Engine branch using licenced code, created by the Crowbar Collective for Black Mesa. It is a modified version of
 Source Engine branch using licenced code, created by the Crowbar Collective for Black Mesa. It is a modified version of  Source 2013 Multiplayer with additions from
 Source 2013 Multiplayer with additions from  Team Fortress 2, whose development was influenced by the limitations of Source. Although initially only Cascade Shadow Mapping was planned, Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of
 Team Fortress 2, whose development was influenced by the limitations of Source. Although initially only Cascade Shadow Mapping was planned, Crowbar Collective gained much more knowledge while working on the engine, which allowed for more experimentation and improvements, eventually leading to the introduction of  deferred lighting. Besides using Team Fortress 2's engine version as a base, this engine version is also a hybrid of the Portal 2 engine branch and Left 4 Dead engine branch.
 deferred lighting. Besides using Team Fortress 2's engine version as a base, this engine version is also a hybrid of the Portal 2 engine branch and Left 4 Dead engine branch.
 Note:Although it uses Team Fortress 2 engine as a base, this engine does not provide VScript system, and additional features introduced in later versions of Source 2013 Multiplayer and Team Fortress 2 branch, since these features came out in the game much later than first Xengine versions were released.
Note:Although it uses Team Fortress 2 engine as a base, this engine does not provide VScript system, and additional features introduced in later versions of Source 2013 Multiplayer and Team Fortress 2 branch, since these features came out in the game much later than first Xengine versions were released.Features
- Engine
- Entity and Displacement Limit upgraded from 4k to 8k.
- Backported a lot of optimizations from  Left 4 Dead and Left 4 Dead and Portal 2. Portal 2.
- Backported some entities from  Left 4 Dead and Left 4 Dead and Portal 2. Portal 2.
- Improved AI, whose behavior depends on the current difficulty level (some NPCs also support Main and Assault Behavior Trees from the aifolder).
- Dynamic lights on a lightmap were swapped with new deferred lights, which have better performance.
- Gbuffer that allows the addition of some modern, difficult-to-make effects.
- Made from scratch Qt UI with the ability to be customized and add new stuff without limitations (VGUI can be reenabled with -oldgameuilaunch parameter).
- Uses  Fast ApproXimate Anti-Aliasing (FXAA) instead of Fast ApproXimate Anti-Aliasing (FXAA) instead of MultiSample Anti-Aliasing (MSAA) for anti-aliasing. MultiSample Anti-Aliasing (MSAA) for anti-aliasing.
- New and extended Post Processor.
- Native  Linux support. Linux support.
- Improved DirectX 9.0c shaders
- Enhanced multiplayer with fixes for the client and server.
- Dynamic music system.
- Most of Source's existing shaders have been rewritten in SM3, in order to be displayed properly with deferred rendering.
 
- Visuals
- 4Way blends with support for 4 bumpmaps and tri-planar mapping, enabling all the options from other material shaders.
- Cascaded Shadow Mapping with viewmodel self-shadowing.
- Parallax Occlusion Mapping.
- Procedural Moss.
- Deferred lighting - A technique that allows lights to be rendered with little performance loss.
- Dynamic lighting system with PBR-based lighting and speculars.
- PCCS-based soft shadows.
- Light cookies for both new point light and new spot light, the last can be animated.
- Support for up to 2K dynamic lights per scene and all rendering features on secondary render targets (reflection/refraction, monitors, TV screens, etc.)
- Upgraded flashlight using the new deferred lighting system.
- Godrays with disk for both the sun and local lights (which also support the "Fancy" godrays type).
- Screenspace Fog ("Xog"), that can be applied globally or locally using cuboid/ellipsoid volumes.
- Flowing water.
- Swaying trees.
- Cinematic lens flares.
- Web shader.
- Upgraded tonemapping with bloom which uses a modified version of the Reinhard filter.
- Optimized shaders for faster compilation and better runtime performance.
 
- Tools
- In-game new lights editor and xog editor.
- Multiple VRAD upgrades, such as support for Alpha-Tested textures, 4-way blends, baked Ambient Occlusion, Real Sky Ambient Light, and more.
- 64-bit shader compiler.
 
Removed
- DirectX compatibility levels support lower than 9.0 (dxlevel 90)
 
- DirectX compatibility levels support lower than 9.0 (
- Support for DirectX 8.1 and 8 GPUs has been dropped, and never supported anyway due to deferred lighting only support DirectX 9 and many players already have DirectX 9 capable graphics card. Early DirectX 9.0 graphics card without Shader Model 3.0 are also dropped.
- The entity was removed because it renders scene twice, making it very expensive.
- While MSAA technically produce sharper results than any post-processing based methods like FXAA and TAA, due to MSAA being complex to implement on deferred renderer (also includes deferred lighting), which also makes it more expensive than forward renderer, and because of Xengine implementation of deferred lighting causing MSAA to have haloing/outline effect, this anti-aliasing method was replaced with FXAA.
 Note:
Note:mat_antialias console variable still exists, however, it doesn't take any values except 0.- Reflections from func_reflective_glass
 
- The entity is still available, but the shader is not ported, it shows wireframe instead of reflection.
- The shader is not ported. All the features is available in LightmappedGeneric.
System Requirements
|  Windows | ||
|---|---|---|
| Minimum | Recommended | |
| Operating system (OS) | 10 | |
| Processor (CPU) | 2.6GHz Dual Core Processor or Greater | 3.2GHz Quad Core Processor or Greater | 
| System memory (RAM) | 6 GB RAM | 8 GB | 
| Hard disk drive (HDD/SSD) | 30 GB | |
| Video card (GPU) | DirectX 9.0 Shader Model 3 capable 2 GB VRAM | DirectX 9.0 Shader Model 3 capable 4 GB VRAM or greater | 
|  Linux | ||
|---|---|---|
| Minimum | Recommended | |
| Operating system (OS) | Ubuntu 14.0+ or other Linux distros | |
| Processor (CPU) | 2.6GHz Dual Core Processor or Greater | 3.2GHz Quad Core Processor or Greater | 
| System memory (RAM) | 4 GB RAM | 6 GB | 
| Hard disk drive (HDD/SSD) | 30 GB | |
| Video card (GPU) | Vulkan 1.3 capable 2 GB VRAM | Vulkan 1.3 capable 3 GB VRAM or greater | 
| Other | NVIDIA - Does not support the  Nouveau display driver | NVIDIA - Does not support the  Nouveau display driver | 
Media
Availability and usage
 Tip:The authoring tools for this branch have been released and are available directly from
Tip:The authoring tools for this branch have been released and are available directly from 
Black Mesa\bin\. Note:There is no source code for this branch. However, you still can heavily modify the Qt UI via
Note:There is no source code for this branch. However, you still can heavily modify the Qt UI via  QML programming language.
 QML programming language. Note:All the shaders (including new lighting, etc) are stored in
Note:All the shaders (including new lighting, etc) are stored in 
Black Mesa\hl2\hl2_misc_dir.vpk.- 2020 Black Mesa Black Mesa- 2017 Black Mesa: Black Ops (restored version) Black Mesa: Black Ops (restored version)
- 2020 Black Mesa: Azure Sheep Black Mesa: Azure Sheep
- 2025 Black Mesa: Blue Shift Black Mesa: Blue Shift
 
See also
External links
- Chetan Jag's Blog about XenEngine
- Qt Qml 6.8.1- half of the documentation for Qt UI. You'll need it if you want to edit Qt UI for your  Black Mesa mods. Black Mesa mods.








































