- Data structures for computer graphics.
- Data structures for offline rendering (global illumination).
- Rendering algorithms for real time applications.
- Ray tracing and visibility computations in general.
- GPU computation for computer graphics.
- Reflectance data representation.
- Geometric range search algorithms and data structures.
- Software architectures for rendering.
- Applied Monte Carlo and Quasi-Monte Carlo algorithms.
- Benchmark data sets and algorithm evaluation.
- Data compression.
- Augmented reality.
Some former research projects of large scope:
||Light Chisel (2007-2015),
3D modeling approach with a handy tool with optical tracking for direct 3D editing
and manipulation in augmented reality systems, achieving 6 degrees of freedom, high accuracy
and low cost.
||MPI Informatics Building Model as Data for Your Research (2003-2010),
computer graphics benchmark dataset with focus on rendering.
This provides interesting and complex data set from the real
building useful not only for computer graphics research but
also for computer vision etc.|
Augmented reality European Union IST project (2006-2008),
researching the use of augmented reality in teaching.
Predictive image synthesis project funded by European Union (2002-2005),
aimed at using global illumination for predictive rendering for the
design like car industry and architecture. My role was mostly
on validation of rendering software, reflectance data, and working with
The design, implementation, and maintenance of portable
object-oriented system in ANSI C++ for
rendering images and animations including technical leadership.
The project was used in most of our research work on global illumination
and ray tracing. The project of intermediate size
with 1277 classes, over 6 MBytes in header files, and 13 MBytes in
implementation files, with dependence to 12 external libraries.
More than half of the research papers were developed within
||BES Project (1999-2001).
The best efficiency scheme project for ray tracing
and BES Scene
Collection, the data set for best efficiency scheme testing
for the data structures and algorithms in ray tracing.
Some of my research collaborators (alphabetical order):
and Jiri Zara.
Note on patents:
I am completely against software patents, in particularly
discussed from time to time in EU parliament, since they hinder
the progress in using the software, they may kill the
success of spinnoff software companies, and they make the software more
expensive to ordinary users.
Older engineering projects:
- 1999: BIL - the image processing library, in ANSI C, a
contract for Infineon Technologies, team project with other
three co-workers (Jiri Bittner, Jiri Zara, and Peter Felkel).
- 1996: Library for parallel sorting on shared memory
multicomputers, working in O(N.logN) time and practically faster
that sequential solution (unlike Cole's algorithm for parallel sorting),
portable ANSI C based on SHM. Some
source code samples".
- 1995-1996: SHM - shared memory library within my Master
Thesis I decided to parallelize my algorithms and since no suitable library
was available, I decided to develop my own (about 250KBytes in ANSI C,
tested under Linux, Irix, and Digital Unix at that time), which was
inspired by P4 library.
- 1994-1996: Simulation of real camera for rendering,
within my Master Thesis I wrote my first ray tracer that included in detail
depth-of-field effects and other things found on real cameras
(composition of objective, autofocus, various jittering algorithms etc.),
software in portable ANSI C.
- 1993-1996: Measuring system for car-ignition, digital
oscilloscope for car diagnostics etc. The measuring system was based under
server-client concept, server was working under Siemens SAB80C537
processor and client was PC-based machine under MS-DOS. Functioning until
today, I designed and implemented both hardware and software.
- 1995-1996: Library for manipulation of huge
raster images under 16-bit Windows environment (including
homogeneous transformation and images point-to-point correspondence
using interests operators etc., software in ANSI C in Windows
- 1994-1995: System for recognition of handwritten characters
on technical drawings for document conversion that was based on neural
networks and image processing, (portable software library in C++), first
time working in team for larger amount of time together with Ales
- 1989-1991: Measuring device for fuel consumption of
cars, embedded system based on Intel 8049, software, assembler,
resulting code 2 KBytes. Functioning until today. I also designed and
implemented a hardware for this measuring device.
- 1988-1989: Interpreter of HPGL subset for plotter, in Zilog
Z80 assembler (software under CPM), ca 230 KBytes of source code. I also
designed and produced hardware of desk plotter, at those times it was
very difficult virtually impossible to buy anything in the Czech Republic.