prism
prism copied to clipboard
Roadmap
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.
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.