SuggestedUses - xlgames-inc/XLE GitHub Wiki
#Suggested Uses
XLE is still in early development. There's a lot of work to do, and it's not ready to be used in a full scale project yet.
So, what could it be used for now?
##Prototype rendering technologies
###Terrain texturing study
A useful area of research would be to look at terrain texturing methods. XLE needs a detailed study considering various options and possibilities for the texturing of the terrain surface. There are a lot of possibilities here -- and lots of cool effects that could be achieved.
###Vegetation rendering study
Another useful area of research would be to look at the way in which vegetation is rendered -- including subsurface scattering approaches for leaves, opacity maps and so on. This could be extended to looking at approaches for LODs for trees, and use of displacement mapping or other effects to add detail to the shape and silhouette.
###Layered materials study
Materials are getting more and more complex for modern engines. Some really interesting and detailed effects can be achieved by building up materials in many layers, each contributing different physical characteristics. It would be interesting to experiment with how this idea could help XLE.
###Character rendering study
Character rendering is another interesting area of research lately... We've seen many improvements in skin rendering, sampling data from the real-world, and facial animation.
###Other studies
XLE is designed to support these kinds of "studies" -- taking a specific idea, and experimenting with different approaches to find the best result. 3D graphics is really dynamic right now -- there are so many ideas and possibilities that could be tried!
##Using XLE within other projects
While XLE might not be ready for a full scale game, it could be useful within smaller projects. For example, as part of a 3d model viewer. Or for 3D data visualisation.
##Just for utilities and basic features
Much of the basic functionality of XLE (Utility library, Assets library, etc) can be used stand-alone.
Cut the engine off at the RenderCore::Techniques
level for a very low-level and flexible rendering library. At that level, you don't get any of the scene stuff or high-level rendering features. But you do get a lot of useful starter code, handy tools for dealing with shaders and a platform abstraction layer. And it should happily merge into an existing codebase.
Or, just use the Utility
library for a bunch of every-day useful tools.