Limit Theory Redux is a fork of the discontinued open-world space simulation game Limit Theory. We have made it our mission to continue the development of the ambitious Limit Theory project as an open source initiative.
Remove Shader.SetFloat4 and related "global" Shader functions that depend on you having run shader:start first. Make those part of the shader itself i.e. shader:setFloat4.
Incorporate ShaderVar.* functions into Shader i.e. ShaderVar.PushMatrix -> Shader.PushGlobalMatrix.
Replace Draw.Clear/Draw.ClearDepth with the concept of a "render pass".
Improve the Lua rendering API by getting rid of all the Push/Pop's everywhere around shaders. I want it to be solid and not depend on the "current" global state so much.
Add the concept of a "uniform buffer" which can be shared across shaders.
Rename ShaderState to Material. Move render state features into Material? Need to think on this one. The main point is
I just opened a PR to move us from legacy OpenGL 2.1 (with slow immediate mode APIs, some glitches in shaders) to modern OpenGL 3.3: https://github.com/Limit-Theory-Redux/ltheory/pull/293
Next steps are:
Shader.SetFloat4
and related "global" Shader functions that depend on you having runshader:start
first. Make those part of theshader
itself i.e.shader:setFloat4
.ShaderVar.*
functions intoShader
i.e.ShaderVar.PushMatrix
->Shader.PushGlobalMatrix
.Draw.Clear
/Draw.ClearDepth
with the concept of a "render pass".ShaderState
toMaterial
. Move render state features intoMaterial
? Need to think on this one. The main point is