1. A computer-implemented method, comprising: obtaining, by a computing device, a scenegraph that describes render targets of a scene, including at least a primary render buffer and one or more meshes; building, by the computing device, a dependency graph having nodes that represent a plurality of the render targets in the scene, wherein the dependency graph is configured to reduce a number of render target switches in relation to at least one rendering of the scene from the scenegraph using the render targets, wherein the dependency graph is built using the scenegraph, and wherein building the dependency graph comprises: adding, by the computing device, a node to the dependency graph that represents the primary render buffer; programmatically exploring, by the computing device, the scenegraph beginning at the primary render buffer to find the one or more meshes; and responsive to finding the one or more meshes, adding, by the computing device, nodes and edges to the dependency graph that represent the one or more meshes; determining, by the computing device, a plurality of strongly connected components in the dependency graph, each of the plurality of strongly connected components comprising one or more of the plurality of render targets; determining, by the computing device, a topological order for the plurality of strongly connected components; and rendering, by the computing device, the scene based on the topological order using the plurality of render targets, including switching between the render targets a reduced number of times in relation to the at least one rendering of the scene.