Abstract:
Texture synthesis and morphing are important techniques for efficiently creating realistic textures used in scientific and entertainment applications. In this paper we present a novel fast algorithm for multi-dimensional texture synthesis and morphing that is especially suitable for parallel architectures such as GPUs or direct volume rendering (DVR) hardware. Our proposed solution generalizes the synthesis process to support higher than three-dimensional synthesis and morphing. We introduce several improvements to previous 2D synthesis algorithms, such as new appearance space attributes and an improved jitter function. We then modify the synthesis algorithm to use it for texture morphing which can be applied to arbitrary many 2D input textures and can be spatially controlled using weight maps. Our results suggest that the algorithm produces higher quality textures than alternative algorithms with similar speed. Compared to higher quality texture synthesis algorithms, our solution is considerably faster and allows the synthesis of additional channels, such as transparencies and displacement maps, without affecting the running time of the synthesis at all. The method is easily extended to allow fast 3D synthesis and we show several novel examples and applications for morphed solid 3D textures. Overall the presented technique provides an excellent trade-off between speed and quality, is highly flexible, allows the use of arbitrary channels, can be extended to arbitrary dimensions, is suitable for a GPU-implementation, and can be effectively integrated into rendering frameworks such as DVR tools.