Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create tool for designing isometric sprites with deferred light #15

Open
Dawoodoz opened this issue Jul 30, 2020 · 4 comments
Open

Create tool for designing isometric sprites with deferred light #15

Dawoodoz opened this issue Jul 30, 2020 · 4 comments
Assignees
Labels
Big task This can take months to complete and may generate sub tasks. Tool A separate script or application that makes a task easier

Comments

@Dawoodoz
Copy link
Owner

Dawoodoz commented Jul 30, 2020

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.
@Dawoodoz Dawoodoz added enhancement New feature or request Big task This can take months to complete and may generate sub tasks. Tool A separate script or application that makes a task easier and removed enhancement New feature or request labels Jul 30, 2020
@Dawoodoz Dawoodoz modified the milestone: First stable release Jul 31, 2020
@Dawoodoz
Copy link
Owner Author

Dawoodoz commented Aug 5, 2020

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.

@Dawoodoz
Copy link
Owner Author

Dawoodoz commented Aug 5, 2020

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.

@Dawoodoz Dawoodoz self-assigned this Mar 6, 2022
@Dawoodoz
Copy link
Owner Author

Dawoodoz commented Mar 6, 2022

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

@Dawoodoz
Copy link
Owner Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Big task This can take months to complete and may generate sub tasks. Tool A separate script or application that makes a task easier
Projects
None yet
Development

No branches or pull requests

1 participant