Texture Bombing Shader for Mantra

pc_textureBomb is vex shader that uses a pointcloud to drive texture stamping/bombing onto an object. It will be released eventually. There are a few artifacting bugs I’m still trying to work out. It features:

  • Does not require tileable maps
  • Use up to 5 maps that can be randomly picked, or driven by a Cd attribute on the points. You can layer as many together as you’d like.
  • Overlaps are handled by fading out from the center of the point outwards
  • Can use the Alpha from bombed image or just use built in fade by distance
  • Angle based fading (dot product) can also be used to control stretching over sharp edges
  • 2 sops to help generate and preview the pointcloud. Includes simple pcfilter function on the normals so you can get a better projection from the points.
  • Can be used directly for full renders as it does not require uvs.
    • I would suggest baking it to a map first — very lazy and quick uv unwraps work well for baking in most cases
  • Art directable rotations (shader will read N and up from pointcloud)

More on texture bombing here: http.developer.nvidia.com/GPUGems/gpugems_ch20.html

concrete2_baked_smallrad

Single map – randomly rotated and stamped onto the grid

concrete2_baked

Same map, enlarged and blended

texturebomb_grid_blend

rock_3mix_baked_smallrad

3 non tileable rock maps rendered with a small radius

rock_3mix_baked

Same 3 non-tilable maps made larger and mixed together

rock_3mix_baked_disp

Same 3 maps mixed together, but the displacement map (generated in awesomebump) bombed with the same settings and exported as well.

rock_3mix_render_pbr2

Render of baked map

dirt_render_tiled

Dirt Map – Tiled

dirt_render_bombed

Dirt Map – Texture Bombed – notice lack of repeating pattern. You can use more maps to make it even less obvious

More examples – All were made with non-tileable maps.

rock_baked

Works well over sharp edges, though this one could be improved as it still has some stretching on the bottom.

texbomb_rock_ex4_mixed

Multiple non-tileable maps mixed

texturebomb_1

Works on Complex Geometry

texbomb_rock_ex3 texbomb_rock_ex2

texbomb_rock_ex3_2