Email:
GitHub profile

SoftwareComputeStuff: CUDA implementations of Histopyramid 5:1compaction, Scan, and Histopyramid 5:1based Marching Cubes. MITlicense. CDUtils: Singleheader C99 utils. Currently contains an XML parser. MIT license. MeshTool: Fast OBJviewer. My Vulkan playground. MIT License. AmigaCoding: Revisiting Amiga assembly. Currently contains a scroller and filled & clipped convex vector graphics. MIT license. HPMC: Histopyramidbased OpenGL Marching Cubes. GPL 2.0 license. FRView: An efficient viewer for mediumsized reservoir simulations. GNU affero 3.0 license. Eye candy(Some of these have become a bit dated...)
Blog posts20200531: Ducttaping onnxmodels into a composite onnxmodel 20190818: Who to blame for the bytes in the WASM? 20190702: Adventures in the machinelearning land of drones & lidars, part II 20190621: Adventures in the machinelearning land of drones & lidars, part I Supervised studentsMartin Lilleeng Sætra (PhD fellow) Erik W. Bjønnes (MSc), Lars Jahr Røine (MSc) Teaching
INF3320/INF4320 Computer
Graphics and Geometric Modelling. Publications
C. Dyken,
K. O. Lye,
J. Seland,
E. Bjønnes,
J. M. Hjelmervik,
J.O. Nygaard,
T.R. Hagen,
A Framework for OpenGL ClientServer Rendering, Proceedings of the 2012 International Workshop on GPU Computing in Clouds, IEEE, 2012.
A. R. Brodtkorb,
C. Dyken,
T. R. Hagen,
J. M. Hjelmervik,
O. O. Storaasli,
StateoftheArt in Heterogeneous Computing, Journal of Scientific Programming, to appear.
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
finegrained parallelism in highperformance 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 stateoftheart 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
stateoftheart techniques and algorithms. We further present a qualitative and
quantitative comparison of the architectures, and give our view on the future of
heterogeneous computing.
C. Dyken,
M. Dæhlen,
T. Sevaldrud,
Simultaneous Curve Simplification, Journal of Geographical Systems 11 (3), 2009, pp. 273289.
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 multilevel 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.
Text is also available in my PhDthesis.
C. Dyken, M. Reimers, J. Seland,
Semiuniform Adaptive Patch Tessellation, Computer Graphics Forum, 28(8), 2009, pp. 22552263.
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.
Draft version
C. Dyken,
Topics in meshbased 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 nonuniqueness of Delaunay
triangulations",
"Simultaneous curve simplification",
"Realtime linear silhouette enhancement",
"Realtime GPU silhouette refinement using adaptively blended
Bezier patches",
"Semiuniform adaptive patch tessellation", and
"Highspeed marching cubes using histogram pyramids".
With introduction.
BibTeX entry,
Final version,
Presentation slides,
Trial lecture
C. Dyken,
G. Ziegler,
C. Theobalt,
H.P. Seidel,
Highspeed Marching Cubes using Histogram Pyramids, Computer Graphics Forum 27 (8), 2008, pp. 20282039.
We present an implementation approach for Marching Cubes on graphics
hardware for OpenGL 2.0 or comparable APIs. It currently outperforms
all other known GPUbased isosurface 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.
Paper:
early draft,
MPI techreport
C. Dyken, M. S. Floater,
Transfinite mean value interpolation, Computer Aided Geometric Design 26, 2009, pp. 117134.
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.
Paper: early draft.
C. Dyken, M. Reimers, J. Seland,
RealTime GPU Silhouette Refinement using adaptively blended Bezier Patches, Computer Graphics Forum 27 (1), 2008, pp. 112.
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
mesh size.
Paper: final version,
early draft
C. Dyken, M. S. Floater,
Preferred directions for resolving the nonuniqueness of Delaunay triangulations, Computational Geometry: Theory and Applications 43, 2006, pp. 96101.
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 edgeswapping 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.
Paper:
early draft
C. Dyken, M. Reimers,
Realtime Linear Silhouette Enhancement, Mathematical Methods for Curves and Surfaces: Tromsø 2004, M. Dæhlen, K. Mørken, and L. L. Schumaker (eds.), 2005, pp. 145156.
We present a simple method for improving the rendered appearance
of coarse triangular meshes. We refine and modify the geometry along
silhouette edges in realtime, 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.
Paper:
early draft
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.
Thesis:
final version.
Miscellaneous debris
C. Dyken,
C. Dyken, Talks
GPUAccelerated Data Expansion for the Marching Cubes Algorithm,
GPU Programming strategies for HPC,
GPU Computing,
Parallel computing in video memory: A key to interactive simulations and photorealistic virtual experiences,
Semiuniform tessellations,
HistoPyramidbased stream compaction and expansion,
HistoPyramid stream compaction
and
expansion,
Transfinite mean value
interpolation,
Efficient gather operations using
histogram pyramids,
Websplines for solving PDE's,
Preferred directions for resolving the nonuniqueness of Delaunay triangulations,
Improving silhouettes of coarse triangle meshes,
Object Orientation in Perl, 