1, Logie, J & Patterson, J. "Inverse Displacement Mapping in the General Case" Computer Graphics FORUM Vol 14 No 1 (January 1995) also Proc EG UK 94 (March 1994)

This paper is the continuance of our work on displacement mapping. We describe how to perform the inverse displacement mapping trick on surfaces more general than closed quadrics, specifically sweeps and volumes of revolution (including tori) defined by cubic splines, and tensor-product bicubic patches. The problem at this stage was that the algorithm ran very slowly with bi-cubic patches. James Logie later wrote up a modified Arvo-Kirk ray tracer, which cached partial results, for his PhD. This carried out direct displacement mapping by perturbing the geometry of the model before tracing the ray. Although this worked well for bi-cubic patches, and ran almost as fast as an uncached Arvo-Kirk process in about 10% of the memory space required for the uncached Arvo-Kirk, James also found that the inverse process was faster for quadrics and sweeps but in the latter case, only just.

2, Patterson, J, "Fast Spheres" Computer Graphics FORUM Vol 12 No 3 (September 1993)

This paper revisited a problem many people have tackled from 1979 onwards. The method described is both faster than other published methods and more general. In the case of the light source being behind the viewer the algorithm is faster than a straightforward copying process. In this case it takes an average of 1.5 typical machine instructions per pixel and only writes out image pixels. (This assumes that pointer arithmetic is subsumed in the instruction execution cycle and would not apply to RISC architectures.) A copying process would take at least two such instructions and would have to overwrite a square area of the framestore for comparable efficiency in determining spans. The algorithm allows z-values to be calculated in the same way, so sphere intersections in 3D are allowed. Other extensions allow for arbitrary positioning of a single distant point light-source although this increases the computational cost to about 5 instructions per pixel. The essence of the method is to reduce the shade value computation to a difference calculation. This paper shows how to calculate the constants for calculations up to second differences and how to reduce the z-calculation to a similar difference calculation. There is a trick here - the surface actually generated is a paraboloid, not a sphere, but it is cut off at the sphere boundary. The result is perceptually indistinguishable from a perspective-transformed sphere and the algebra becomes tractable thereby.

3, Cockshott, T, Patterson, J, England, D "Modelling the Texture of Paint" Computer Graphics FORUM Vol 11 No 3 (1992)

Dr Tunde Cockshott is an artist who wanted paint progams to be more capable of making the kinds of marks he was used to in art galleries. He invented the 'wet-and-sticky' paint system which simulated the physical characteristics of paint, i.e. the paint would run, dry, diffuse or otherwise interact with its canvas or other wet paint. 'Wet-and-sticky' deliberately had no 'undo', so artists had to work round accidental marks - just as in real life. 'Wet-and-sticky' simulated the canvas by modelling it as an array of reservoirs which could either be filled from various sources or emptied by gravity or diffusion, or by drying. Here the reservoir values were used as a height field for a bump map and the appearance of the canvas calculated using Phong shading on a bump-mapped plane normal to the viewer. As a result the calculation could be optimised to give a relatively small incremental cost on the overall computation process. The good thing about wet-and-sticky is that almost any attribute, including the direction of gravity, could be applied like paint itself to produce quite startling effects. The bad thing about wet-and-sticky was that it didn't run in real time on 3 Mhz machines. To-day, Ghz machines should be able to do much better, but it isn't research any more.

4, Patterson J, Hoggar, S., Logie, J. "Inverse Displacement Mapping" Computer Graphics FORUM Vol 10 No 2 (1991) p129-139

This is the first paper to describe a displacement mapping process of any kind. Rob Cook mentioned the term in his paper on 'Shade Trees' in the 1984 SIGGRAPH proceedings, and showed images in which the process had been carried out, but declined to describe any details, assuming it was straightforward. We were not convinced and were able to show examples where straightforward methods broke down, so clearly there were problems to be solved. The method we devised addressed the worst of these problems directly, namely the exaggeration of the sampled approximation of the displacement map on surfaces of high curvature and the possibility of false positives or negatives in the ray tracing intersection solution. The method described here involves mapping a ray into texture space and solving for intersections between the height field, modelled as a point-sampled surface, and the ray, whose geometry would be no longer that of a straight line. As a result features which would be visible over the horizon of a surface were detected and rendered correctly, allowing for large-scale displacements.The method described in this paper would only work for planes and quadric surfaces and certain forms of texture map.

 


[ Department of Computing Science 17 Lilybank Gardens, Glasgow G12 8RZ
Tel: +(0)141 330 4256, Fax: +(0)141 330 4913