Dawoodoz/DFPSR

Create tool for designing isometric sprites with deferred light

Opened this issue · 4 comments

The current script system to create models from height maps in the Sandbox example has only scratched the surface of what can be done with the rendering technique. No need for textures or separate materials, just increase the density of vertices to match textures.

Potential features:

  • Sculpt geometry with automatically generated normals.
  • Spray paint vertex colors.
  • Optional material channels. Specular, gloss, anisotropy, ambient occlusion, infra-red, ultra-violet, self illumination...
  • Apply textures as decals.
  • Generate materials based on calculated wear on corners and edges.
  • Automatic optimization of internal shadow model. Try to cover as much surface as possible with the least number of triangles, without getting too close to the surface. All details casting a shadow must be thicker than the depth bias of light sources.
  • Creating animations.
  • Increase detail level of voxel sets by diffusing the surface and comparing the intensity with a procedurally generated 3D material. This can generate a detailed brick wall from a single voxel with a material and random seed applied.
  • Save/load application specific format. Containing the whole workspace.
  • Export to a binary model format where the compression method is baked into the file to be executed by a vectorized virtual machine. The file will then contain a set of input streams and the assembler code for a machine interpreting the data. More tools can then be created without breaking version compatibility with the files. Fixed-point 16.16 values will be used for calculations, so that it has 100% determinism.

Importing the PLY format from Blender gave a resonable workflow if one can ignore all the features that aren't used for plain vertex sculpting.

The PLY model importer is now a part of the automated Sandbox rendering tool. Moving the import function to the library would require supporting textures as well.

Due to the need for an editor with support for displacement mapping, a generic model editor is currently being created for both needs.

The 3D editor now has an archive system that can embed compressed images and any other files that might be needed. This will later allow sculpting shapes into compressed 8-bit heightmaps, to get the same level of compression as the scripts used to render floor tiles directly from heightmaps, but with the same ease of creation as scuplting in Blender.