Download

Source 2 Viewer v8.0

A rewritten, faster texture viewer with SVG and cubemap support, morph animations in the model viewer, and copying the viewport with Ctrl+C.

Highlights

Model viewer now supports morphs

Texture viewer has been rewritten
It is now more powerful and faster.

GUI

  • New texture viewer with more features
    • Hardware accelerated decoding and rendering
    • Smoother mooving and scaling experience
    • Support SVG files
    • Switch channels, opaque, transparent, or opaque with split alpha, mip levels, depth, cubemap faces
    • Cubemaps allow switching between individual face, cube projection, and equirectangular projections
    • Save (Ctrl-S) or copy (Ctrl-C) to save currently visible texture
  • Textures are now decoded with GPU for faster exporting and more correctness
  • Creating new vpk now uses rudimentary editing ui where you can add or remove files before saving
  • Added morph composite rendering
  • Added Ctrl-C keybind for any model/map viewer which copies current viewport to clipboard
  • Added confirmation dialog when trying to open over 5 files in the default app
  • Improved physics/clip brush rendering
  • Fixed cubemap fog rendering on maps like de_inferno
  • Partially fixed Half-Life: Alyx character animations to play correctly
  • Multiple improvements and fixes to our shaders
  • Renderer now uses separate framebuffer for more precise depth buffer
  • Renderer now uses reverse-Z and infinite far plane
  • Replaced our default HDRi cubemap in the model viewer
  • Converted all textures to immutable storage
  • 3D skybox is now prescaled to simplify some things and avoid jittering on some maps like de_mirage
  • FPS counter is now rendered with OpenGL with addition of CPU and GPU times (can be disabled in settings)

CLI

  • Added support for dumping closed captions
  • Used array pool during vpk dump for less memory use in certain cases
  • --vpk_verify now verifies hashes of every archive (or every file checksum if hashes are unavailable)

Library

  • Added model morph flex rules
  • Reduced png encoder zlib compression to 4 (from default 6) for faster encodes
  • Added ClosedCaptions.ToString
  • Added Texture.RetrieveCodecFromResourceEditInfo to get specific decoder instructions
  • Added Dota herolist resource type
  • Added skeleton to vmdl export
  • Added animation root motion to vmdl export
  • Added extracted animations as simple AnimFile nodes to vmdl export
  • Added mipLevel parameter to Texture.GenerateBitmap
  • Removed GetDecompressedTextureAtMipLevel(mipLevel)
  • Map decompiles now include particle snapshots
  • Map decompiles now set aggregate props contribute to vis and disable merging
  • Split aggregate draw calls in map export for correct tints
  • Renamed VTexExtraData.DATA_METADATA to METADATA
  • Optimized RubikonPhysics.Shapes.Mesh.Triangle to be a XYZ struct
  • Fixed game file loader not finding main game vpks when opening a file from {game}_addons folder
  • Fixed decoding issues with certain RGBA16161616F textures
  • Fixed some textures exporting as 1x1
  • Fixed jittery animations caused by CompressedDeltaVector3 and CompressedAnimVector3 decoder
  • Added IHardwareTextureDecoder which is implemented by the GUI
  • Switched to System.IO.Hashing.Crc32
  • Optimized memory allocations in multiple places, including BinaryKV3 reading
  • KVObject now has a debugger display

View commits since 7.0 | View milestone

Thanks to