Skip to content

3D Content Documentation

John Shaffstall edited this page May 21, 2019 · 4 revisions

A modest collection of documentation for the Destiny 3D content available on Bungie.net. This is not yet comprehensive, and will grow over time.

In the Destiny 2 content on Bungie.net, we have 3D assets and metadata for the following kinds of items:

  • Weapons
  • Armor
  • Ships
  • Sparrows
  • Ghost Shells
  • Ornaments
  • Shaders

Render Stages

Render models have multiple 'parts' that should be drawn during different render 'stages'. Many of these stages only apply to the game itself, and have had their names redacted, but some are useful for us here.

0. generate gbuffer (most of the opaque geometry will render here)
1. decals
2. investment decals
3. shadow generate (if you want to generate shadows, this may be useful)
4. redacted04
5. redacted05
6. decals additive
7. transparents (most of these parts have fancy shader effects that we don't support)
8. redacted08
9. redacted09
10 redacted10
11. redacted11
12. depth prepass (a depth-only pre-pass stage is available, but not always necessary)
13. redacted13
14. redacted14
15. redacted15
16. redacted16
17. redacted17
18. redacted18
19. render stage count

Level of Detail (LOD) Categories

Level of detail starts at the highest level (0), and gradually decreases to the lowest level (3). For the highest quality renders, you probably only want parts with LOD 0 (0, 01, 012, and 0123). For example, a stage part with lod_category_012 would be rendered for LODs 0, 1, and 2.

 0. lod_category_0,
 1. lod_category_01,
 2. lod_category_012,
 3. lod_category_0123,
 4. lod_category_1,
 5. lod_category_12,
 6. lod_category_123,
 7. lod_category_2,
 8. lod_category_23,
 9. lod_category_3,
 10. lod_category_unused
 11. lod_category_count

Textures

  • Diffuse
    • JPEG format (lossy)
    • Often grayscale, to be colored in with the dye albedo colors
    • Blends with the dye detail diffuse texture
  • Normal
  • Gearstack (or gstack)
    • PNG format (lossless)
    • A collection of additional properties for use in the fragment / pixel shader
    • Channels contain dye application strength, fringe / transparency testing, and more
    • To be documented in more detail soon™

Gear Dyes

Gear pieces and shaders items have have dyes with different material properties, which affect how a model is rendered in the fragment / pixel shader.

  • Default Dyes
    • The dyes to be shown when no shader dyes are being applied
    • Overridden by equipped / applied shader dyes
  • Special Dyes
    • Coming soon™
  • Locked Dyes
    • These dyes are intended to always be rendered, regardless of the shader being applied
    • This was more common in Destiny 1 (many exotics didn't change with shaders)
    • Less frequent now in Destiny 2

Gear Dye Material Properties

All material properties are of the type vec4f (vectors of 4 floats).

detail_diffuse_transform
detail_normal_transform
spec_aa_xform

primary_emissive_tint_color_and_intensity_bias
secondary_emissive_tint_color_and_intensity_bias

specular_properties
lobe_pbr_params
tint_pbr_params
emissive_pbr_params

primary_albedo_tint
primary_material_params
primary_material_advanced_params
primary_roughness_remap

secondary_albedo_tint
secondary_material_params
secondary_material_advanced_params
secondary_roughness_remap

primary_worn_albedo_tint
primary_wear_remap
primary_worn_roughness_remap
primary_worn_material_parameters

secondary_worn_albedo_tint
secondary_wear_remap
secondary_worn_roughness_remap
secondary_worn_material_parameters

primary_subsurface_scattering_strength_and_emissive
secondary_subsurface_scattering_strength_and_emissive

More details coming soon™