inanity
inanity copied to clipboard
Cross-platform C++ game engine.
Because of DirectX11's crazy linkage system we need to list all vertex shader's interpolates in pixel shader. Otherwise we will get Direct3D error about invalid linkage because output variables from...
At first glance it is harder than V8/Lua because Mono needs precompiled assemblies to expose C++ things for C#, so it may need a special compilation process.
Make a filtering file system which individually compresses files before giving data to underlying file system.
For now objects are exposed to script with their declared "return type", and corresponding script object is cached while script is holding a reference to it. But if an object...
`UniformGroup` should not have a buffer's data. Proposed to make a separate `UniformData` class which would store data, and be sent to `Context`. It will make easier of tracking dirty...
[Gambit](http://gambitscheme.org/) looks like very good candidate for binding to. It provides interpreter as well as Scheme-to-C compiler. We could use interpreter for fast write-and-run cycles and compiler for release performance.
Introduce graphics programs which would incapsulate OpenGL shader programs. Remove cache of OpenGL programs indexed by pairs of vertex and pixel shaders. DirectX would emulate shader-link behavior at no cost.
Make graphics system more general by removing manually assigned semantics. This would give more freedom to graphics implementation with how to implement uniform buffers, shader linking and so on. Make...
Proposed to make reference graphics system, software rasterization and LLVM-based shaders. Such system would allow for easier debugging and headless rendering on servers plus maybe tests functionality. Of course, it...
Using GLEW has several disadvantages, such as hackish OpenGL initialization and a use of global variables. The engine uses not so many OpenGL functions, so importing OpenGL functions manually isn't...