* Create a new shader program with empty map and id.
* Add custom render delegate so it can be called every render tick. * If this is not null, then globalRender and perEntityRender are useless. * Returns reference to this so it can be used in a stream.
* Add fragment code. * Returns reference to this so it can be used in a stream.
* Add global render delegate so it can be called every render tick once for all map entities. * Returns reference to this so it can be used in a stream.
* Add per entity render delegate so it can be called every render tick for every map entity. * Returns reference to this so it can be used in a stream.
* Add vertex code. * Returns reference to this so it can be used in a stream.
* Build shader data, compile and link. * Returns reference to this so it can be used in a stream.
* Returns the entity in the map that has the given id.
* Returns all entities in the map.
* Returns the shader program from the map.
* Returns true if fragement code exists.
* Returns true if vertex code exists.
* Returns true if view matrix is enabled on this shader.
* Register a entity to the renderer. * Returns reference to this so it can be used in a stream.
* Remove the given entity from the map. * Returns reference to this so it can be used in a stream.
* Remove the entity that has the given id from the map. * Returns reference to this so it can be used in a stream.
* Render all map entities to the screen.
* Set if view matrix is enabled on this shader. * Returns reference to this so it can be used in a stream.
*
*
* Called every frame to render the scene entity.
*