This article's documentation is for anything that uses the Source engine. Click here for more information.

VBSP++: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 29: Line 29:
* Added support for mounting custom shaders in mods
* Added support for mounting custom shaders in mods
* Added support for custom {{code|$surfaceprops}} on clip brushes
* Added support for custom {{code|$surfaceprops}} on clip brushes
* Added {{code|func_detail_blocker}} (like newer VBSPs)
* Added {{ent|func_detail_blocker}} (like newer VBSPs)
* Added {{code|-blocksize}} (default is 1024)
* Added {{code|-blocksize}} (default is 1024)
** Useful to compute visibility faster on open, large maps like surf (I recommend 2048)
** Useful to compute visibility faster on open, large maps like surf (I recommend 2048)
Line 36: Line 36:
* Added proper support for compiling power of 4 displacements (like CS:GO)
* Added proper support for compiling power of 4 displacements (like CS:GO)
** Update: this is now reverted due to causing crashes on Linux servers. Slammin is also affected by this.
** Update: this is now reverted due to causing crashes on Linux servers. Slammin is also affected by this.
* Added {{code|parallax_obb}} entity support for mods that have parallax cubemaps
* Added {{ent|parallax_obb}} entity support for mods that have parallax cubemaps
* Added {{code|func_detail_illusionary}} (identical to {{code|func_detail}} but non solid)
* Added {{ent|func_detail_illusionary}} (identical to {{ent|func_detail}} but non solid)
* Added {{code|%compileNoShadows}}
* Added {{codelink|%compileNoShadows}}
* Added {{code|func_nobevel}} support
* Added {{ent|func_nobevel}} support
* Added {{code|-nobevel}} (disables brushsides for all angled geometry. I do not recommend using this, use {{code|func_nobevel}} instead)
* Added {{code|-nobevel}} (disables brushsides for all angled geometry. I do not recommend using this, use {{ent|func_nobevel}} instead)
* Added optimization to automatically disable vertex lighting for props with {{code|$bumpmap}}/{{code|$phong}}
* Added optimization to automatically disable vertex lighting for props with {{codelink|$bumpmap}}/{{codelink|$phong}}
** Reduces time spent in VRAD with {{code|-staticproplighting}}
** Reduces time spent in VRAD with {{code|-staticproplighting}}
* Added logging if FGD has parsing errors
* Added logging if FGD has parsing errors
* Added warning if using {{code|info_lighting}} on dynamic entities
* Added warning if using {{ent|info_lighting}} on dynamic entities
* Added {{code|%compileNoShadows}} support
* Added {{codelink|%compileNoShadows}} support
* Added support for high lightmap sizes (useful for games that support {{code|-maxlightmapdim}})
* Added support for high lightmap sizes (useful for games that support {{code|-maxlightmapdim}})
* Added {{code|-nohdrcubemap}} to not write HDR cubemaps to BSP, useful if map is compiled in LDR only
* Added {{code|-nohdrcubemap}} to not write HDR cubemaps to BSP, useful if map is compiled in LDR only
* Restored support for {{code|-maxlightmapdim}} and {{code|-defaultluxelsize}} parameters
* Restored support for {{code|-maxlightmapdim}} and {{code|-defaultluxelsize}} parameters
* {{code|func_occluder}}, {{code|func_areaporta}}, {{code|func_viscluster}}, {{code|func_nobevel}}, {{code|parallax_obb}} no longer count towards the brush limit
* {{ent|func_occluder}}, {{ent|func_areaporta}}, {{ent|func_viscluster}}, {{ent|func_nobevel}}, {{ent|parallax_obb}} no longer count towards the brush limit
* Improved clarity of some warnings and removed useless ones
* Improved clarity of some warnings and removed useless ones
* Fixed instances not collapsing correctly if FGD had unrecognized types
* Fixed instances not collapsing correctly if FGD had unrecognized types

Revision as of 07:55, 18 November 2025

English (en)Translate (Translate)

VBSP++VVIS++VRAD++

Stub

This article or section is a stub. You can help by expanding it.

Developer(s)
Initial release
Jun 28, 2025
Stable release
Nov 4, 2025
Operating system
Windows
Type
Map compiler
Target engine(s)
Source
Distribution
Freeware
Download

VBSP++ VBSP++ is a community-made modification of Source's VBSP developed by ficool2.

Differences

  • Automatically reduces brushes and brushsides usage of the map by 10-30% (MAX_MAP_BRUSHES, MAX_MAP_BRUSHSIDES)
  • Automatically reduces planes usage of the map up to 40% if limit is hit (MAX_MAP_PLANES)
    • If plane limit is exceeded, VRAD++ must be used or lighting will be broken
  • No t-junction limit
  • No detail prop limit
  • Raised overlay limit to 1024 and internal entity limit to 16384
  • Added appid mounting in gameinfo.txt
  • Added support for mounting custom shaders in mods
  • Added support for custom $surfaceprops on clip brushes
  • Added func_detail_blocker (like newer VBSPs)
  • Added -blocksize (default is 1024)
    • Useful to compute visibility faster on open, large maps like surf (I recommend 2048)
    • Using a higher blocksize also reduces your vertex count, useful to circumvent vertex limit
  • Added -allowdynamicpropsasstatic (allows props without allowstatic in propdata to be used as static props)
  • Added proper support for compiling power of 4 displacements (like CS:GO)
    • Update: this is now reverted due to causing crashes on Linux servers. Slammin is also affected by this.
  • Added parallax_obb entity support for mods that have parallax cubemaps
  • Added func_detail_illusionary (identical to func_detail but non solid)
  • Added %compileNoShadows
  • Added func_nobevel support
  • Added -nobevel (disables brushsides for all angled geometry. I do not recommend using this, use func_nobevel instead)
  • Added optimization to automatically disable vertex lighting for props with $bumpmap/$phong
    • Reduces time spent in VRAD with -staticproplighting
  • Added logging if FGD has parsing errors
  • Added warning if using info_lighting on dynamic entities
  • Added %compileNoShadows support
  • Added support for high lightmap sizes (useful for games that support -maxlightmapdim)
  • Added -nohdrcubemap to not write HDR cubemaps to BSP, useful if map is compiled in LDR only
  • Restored support for -maxlightmapdim and -defaultluxelsize parameters
  • func_occluder, func_areaporta, func_viscluster, func_nobevel, parallax_obb no longer count towards the brush limit
  • Improved clarity of some warnings and removed useless ones
  • Fixed instances not collapsing correctly if FGD had unrecognized types
  • Fixed smoothing groups not working on func_detail
  • Fixed displacements not being rotated correctly in instances
  • Fixed occluders not being collapsed correctly in instances
  • Fixed missing texture cubemaps if skybox has mismatched side dimensions
  • Fixed crash if an instance overflowed brush or brushsides limit
  • Fixed crash if no surfaceprops were loaded
  • Fixed bug where brushside count was varying depending on the CPU

Supported games

VBSP++ is currently available for all games on Team Fortress 2 branch Team Fortress 2 branch.

External links