1. A method of rendering 3D graphics data, the method comprising: determining one or more characteristics of the 3D graphics data; analyzing the determined one or more characteristics of the 3D graphics data using plural select branching elements; selecting required plural code blocks, from plural available code blocks, according to a decision result of the plural select branching elements, based on the analyzed one or more characteristics of the 3D graphics data; using a processor to reconstruct a rendering function based on the required plural code blocks, wherein the reconstructing comprises combining the required plural select code blocks, from the plural available code blocks, represented by the plural select branching elements selected from plural available branching elements, such that the plural select branching elements includes less than all of the plural available branching elements based on the analyzed characteristics of the 3D graphics data, and such that the reconstructed rendering function includes the required plural select code blocks, less than all of the plural available code blocks; and rendering the 3D graphics data using the called reconstructed rendering function, wherein at least a single branching element of the plural available branching elements identifies a distinct grouping of plural code blocks, of the plural available code blocks, for inclusion in the reconstructed rendering function, for the rendering of the 3D graphics data using the reconstructed rendering function searching for a rendering function corresponding to the analyzed characteristic of the 3D graphics data from a cache; reading the rendering function from the cache when the rendering function exists in the cache; reconstructing the rendering function based on the analyzed characteristic of the 3D graphics data when the rendering function does not exist in the cache.