This document describes research into the development of software to allow the visualisation of finite and discrete element simulations within a virtual environment. The particular requirements of rendering deep level mining simulations are given precedence, but the resulting techniques apply in general to all finite element problems. In particular, a new rendering method based upon incremental frame updating is presented, and this provides the basis for two new rendering optimisations: Priority Ordering predicts the visibility of objects within the scene from the current viewpoint. This mapping of objects to a scalar value allows the incremental rendering step to process geometry in order such that the objects contributing the largest amount to the scene quality are rendered first. This is shown to provide an improvement in the quality of the rendered image as the incremental update step proceeds, when compared to conventional algorithms; Z Occlusion using Priority Ordering uses the coverage information obtained from the generation of priority values to allow the lazy evaluation of Z buffer area for occlusion culling. This is shown to decrease the time taken to render an entire frame to completion where sufficient depth complexity is present to outweigh the Z buffer access overhead, and to provide little or no performance penalty where little depth complexity is present, or Z buffer access is disproportionately high. The design of a highly threaded rendering system which allows the asynchronous operation of multiple parts of the system is also documented.