K. O. Lye,
J. M. Hjelmervik,
T.R. Hagen, A Framework for OpenGL Client-Server Rendering,
Proceedings of the 2012 International Workshop on GPU Computing in Clouds, IEEE, 2012.
A. R. Brodtkorb,
T. R. Hagen,
J. M. Hjelmervik,
O. O. Storaasli, State-of-the-Art in Heterogeneous Computing,
Journal of Scientific Programming, 18(1), 2010, pp. 1-33 .
Node level heterogeneous architectures have become attractive during the last
decade for several reasons: compared to traditional symmetric CPUs, they offer
high peak performance and are energy and/or cost efficient. With the increase of
fine-grained parallelism in high-performance computing, as well as the
introduction of parallelism in workstations, there is an
acute need for a good overview and understanding of these architectures. We
give an overview of the state-of-the-art in heterogeneous computing, focusing on
three commonly found architectures: the Cell Broadband Engine Architecture,
graphics processing units (GPUs), and field programmable gate arrays (FPGAs).
We give a review of hardware, available software tools, and an overview of
state-of-the-art techniques and algorithms. We further present a qualitative and
quantitative comparison of the architectures, and give our view on the future of
T. Sevaldrud, Simultaneous Curve Simplification,
Journal of Geographical Systems 11 (3), 2009, pp. 273-289.
In this paper we present a method for simultaneous simplification of
a collection of piecewise linear curves in the plane. The method is
based on triangulations, and the main purpose is to remove line
segments from the piecewise linear curves without changing the
topological relations between the curves. The method can also be
used to construct a multi-level representation of a collection of
piecewise linear curves. We illustrate the method by simplifying
cartographic contours and a set of piecewise linear curves
representing a road network.
C. Dyken, M. Reimers, J. Seland, Semi-uniform Adaptive Patch Tessellation,
Computer Graphics Forum, 28(8), 2009, pp. 2255-2263.
We present an adaptive tessellation scheme for surfaces consisting of parametric patches. The resulting tessellations
are topologically uniform, yet consistent and watertight across boundaries of patches with different tessellation
levels. Our scheme is simple to implement, requires little memory, and is well suited for instancing, a feature
available on current GPUs that allows a substantial performance increase. We describe how the scheme can be
implemented efficiently and give performance benchmarks comparing it to some other approaches.
C. Dyken, Topics in mesh-based modelling and computer graphics
Philosophiae Doctor (Ph.D.) thesis, IfI, UiO, 2008.
Compilation of the papers
"Transfinite mean value interpolation",
"Preferred directions for resolving the non-uniqueness of Delaunay
"Simultaneous curve simplification",
"Real-time linear silhouette enhancement",
"Real-time GPU silhouette refinement using adaptively blended
"Semi-uniform adaptive patch tessellation", and
"High-speed marching cubes using histogram pyramids".
We present an implementation approach for Marching Cubes on graphics
hardware for OpenGL 2.0 or comparable APIs. It currently outperforms
all other known GPU-based iso-surface extraction algorithms in
direct rendering for sparse or large volumes, even those using the
recently introduced geometry shader capabilites. To achieve this,
we outfit the HistoPyramid algorithm, previously only used in GPU
data compaction, with the capability for arbitrary data expansion.
After reformulation of Marching Cubes as a data compaction and
expansion process, the HistoPyramid algorithm becomes the core of a
highly efficient and interactive Marching Cube implementation. For
graphics hardware lacking geometry shaders, such as mobile GPUs, the
concept of HistoPyramid data expansion is easily generalized,
opening new application domains in mobile visual computing.
Further, to serve recent developments, we present how the
HistoPyramid can be implemented in the parallel programming language
CUDA, by using a novel 1D chunk/layer construction.
C. Dyken, M. S. Floater, Transfinite mean value interpolation,
Computer Aided Geometric Design 26, 2009, pp. 117-134.
Transfinite mean value interpolation has recently emerged as a simple and robust way to interpolate a
function f defined on the boundary of a planar domain. In this paper we study basic properties of the
interpolant, including sufficient conditions on the boundary of the domain to guarantee interpolation when f
is continuous. Then, by deriving the normal derivative of the interpolant and of a mean value weight
function, we construct a transfinite Hermite interpolant and discuss various applications.
C. Dyken, M. Reimers, J. Seland, Real-Time GPU Silhouette Refinement using adaptively blended Bezier Patches,
Computer Graphics Forum 27 (1), 2008, pp. 1-12.
We present an algorithm for detecting and extracting the silhouette
edges of a triangle mesh in real time using GPUs (Graphical
Processing Units). We also propose a tessellation strategy for
visualizing the mesh with smooth silhouettes through a continuous
blend between Bézier patches with varying level of detail.
Furthermore, we show how our techniques can be integrated with
displacement and normal mapping. We give details on our GPU
implementation and provide a performance analysis with respect to
C. Dyken, M. S. Floater, Preferred directions for resolving the non-uniqueness of Delaunay triangulations,
Computational Geometry: Theory and Applications 34, 2006, pp. 96-101.
This note proposes a simple rule to determine a unique triangulation among all
Delaunay triangulations of a planar point set, based on two preferred directions. We show
that the triangulation can be generated by extending Lawson's edge-swapping algorithm
and that point deletion is a local procedure. The rule can be implemented exactly when the
points have integer coordinates and can be used to improve image compression methods.
Real-time Linear Silhouette Enhancement,
Mathematical Methods for Curves and Surfaces: Tromsø 2004,
M. Dæhlen, K. Mørken, and L. L. Schumaker (eds.), 2005, pp. 145-156.
We present a simple method for improving the rendered appearance
of coarse triangular meshes. We refine and modify the geometry along
silhouette edges in real-time, and thus increase the geometric complexity
only where needed. We address how to define the improved silhouette and
a method to blend the modified and the original geometry continuously.
C. Dyken, The Simplified Surface Spline,
Candidatus Scientiarum (M.Sc.) thesis,
IfI, UiO, 2003.
This thesis studies the problem of using surface splines as an approximation basis.
The simplified surface spline basis, a slight simplification of the C¹-surface spline
construction of Jörg Peters, is presented. The simplified surface does not guarantee a
C¹ surface, but has explicit formulas, explicit basis functions and known dimension.
In addition, it resides close to the C¹-surface spline. The simplified surface spline
basis is employed in interpolation, least squares approximation and faired least squares
approximation. In addition, the mesh notation, a notation for writing algorithms on
polyhedral meshes in a concise and mathematical way, is presented.
A Peek on Numerical Programming in Perl and Python,
Small note comparing numerical programming in high-level languages and C, IfI/CMA, UiO, 2004. Text
Farver og interpolasjon,
Essay on colour, colourspaces and interpolation in norwegian, IfI, UiO, 2000. Text
GPU-Accelerated Data Expansion for the Marching Cubes Algorithm,
GPU Technology Conference,
San Jose, California, USA, 2010-09-22 Slides
GPU Programming strategies for HPC,
Bergen, Norway, 2010-05-20
Software Development Workshop on High-Performance Computing,
SINTEF Petroleum, 2009-12
Parallel computing in video memory: A key to interactive simulations and photorealistic virtual experiences,
The Industrial Gaming Track,
5th International Conference on Integrated Operations in the Petroleums Industry,
Trondheim, Norway, 2009-09-29.