Impostor Generator: Bake an Octahedral Impostor
Drop a model, such as a tree, a rock or a building. The page renders it from 64 to 256 directions on an octahedral grid, packs the views into an albedo atlas and a normal + depth atlas, and shows the impostor next to the real model so you can orbit both. Download the PNG atlases, the JSON settings and a ready three.js shader. One quad, one draw call. Nothing is uploaded.
How to bake an impostor
- 1
Drop the model
A .glb/.gltf, .obj (with its .mtl), .fbx, .stl or .ply. Cut-out leaves (alpha test) and vertex colours are kept. Or try the sample tree.
- 2
Pick the layout
Hemisphere for things only seen from above the ground (trees, rocks, buildings), full sphere for things seen from below too. Choose 8x8, 12x12 or 16x16 views and a 1K, 2K or 4K atlas.
- 3
Bake and compare
The views render on your GPU in a few seconds. Orbit the real model and the impostor side by side, look at the atlas, and switch the preview to albedo or normals.
- 4
Download
A ZIP with albedo.png, normal_depth.png, separate normal and depth PNGs, impostor.json and impostor-three.js, or each file on its own.
What the download holds
Two atlases with one cell per view direction, the settings that describe them, and a shader that draws them on one quad:
| albedo.png | The colour of the model from every view, one cell per direction, with transparent background. Colours are spread past the edges so mipmaps do not get dark halos. |
|---|---|
| normal_depth.png | RGB = the surface normal in the model's own space, A = depth (how far in front of or behind the centre the surface is). Used for lighting and to make the view blend sharper. |
| normal.png, depth.png | The same data split into two plain images, for engines or shaders that want them apart. |
| impostor.json | Layout (hemisphere or full), views per side, atlas and cell size, padding, centre and radius, and the source triangle and draw-call counts. |
| impostor-three.js | An ES module for three.js (r150 or newer, WebGL2): loadImpostor('./') returns a mesh of 2 triangles that picks and blends the 3 nearest views and lights them. |
The limit, plainly: an impostor is a picture, so it is meant for the far distance. Close up, the blend between views and the missing parallax show; use the real mesh or an LOD there. Animated models are baked in one pose.
Need a tree, rock or building first?
Make a 3D model from a text prompt or a photo with AI, then bring it here for its far-distance impostor. The AI generator uses credits; this tool does not.
More free 3D tools
Impostor generator FAQ
Impostors are baked in your browser on your own GPU. Downloads are free for personal and commercial use, no attribution needed. Unreal Engine, Unity, Godot, Unigine, Blender and three.js are named only to describe compatibility; The3DAI is not affiliated with or endorsed by them.