prism icon indicating copy to clipboard operation
prism copied to clipboard

Roadmap

Open da1nerd opened this issue 5 years ago • 1 comments

This is a scratch pad for figuring out what features ~should~ may be added in the future.

  • Focusing view - Support focusing at a certain depth and range of view. Things outside of that range should be blurred.
  • Motion blur - This should be self explanatory.
  • Camera shake - This is helpful for explosion effects and other impact effects.
  • Dynamic field of view - This would allow effects such as focusing or impaired vision.
  • Occlusion culling #44 - Skip rendering objects that are hidden behind other objects.
  • Frustrum Culling - This is similar to occulusion culling except you are skipping rendering objects that are outside of the frustrum.
  • More built in light types - Maybe we have all the basics, but I want to make sure at least the most common lights are supported.
  • Default lighting systems #47 - Provide some pre-configured lights that can be included as "systems". e.g. a daylight system, or an evening light system. This will just allow people quickly set the environment lights without having to manually configure brightness, colors, direction, etc.
  • ~Default material colors #48~ - This mostly benefits prototyping, but it would be nice if you could slap on a material so you can quickly see your shape.
  • ~Default materials #48~ - Related to default material colors, When prototyping a scene I'd like to be able to throw a bunch of objects in there and see that they are all working without having to think about texturing them.
  • Physical light sources - These are visible points of light. Currently the source of light rays is invisible. It would be great if when adding lights to a scene we could initially see where they are coming from. We could take any object and turn it into a light source.
  • Shadows #46 - Gotta have shadows.
  • ray tracing - I'm not sure a about this one. Having this would be great if someone wanted to render some high quality frames, but this is still problematic for gaming unless you have a modern video card.
  • ~Haze - This could have multiple applications: fog, horizon, etc. I'm not talking about a particle system here. Particles could be added by a separate engine plugged into Prism. This would just be the underlying fading away of objects.~
  • ~Horizon - allow setting a distance at which things fade out. This could be use to set up a horizon. Things beyond the horizon could be culled.~
  • Parallax mapping - so we can get cheap texture variations and lighting effects on our textures.

da1nerd avatar Apr 12 '20 14:04 da1nerd

One reason I created this rendering engine was to create a UI toolkit based on material design. We won't need all of the above features to accomplish that so I might split this into two road maps. One will produce features needed to create a UI toolkit, and the other will produces features needed to create decent game graphics.

da1nerd avatar Apr 13 '20 10:04 da1nerd