add IRenderState protocol