I often run into two problems when reading a blog post on mathematics: My feed-reader does not evaluate Javascript, and all equations are presented as raw Mathjax or Latex-inline code. My feed-reader presenting me a bunch of gibberish There are of course feed-readers that do, but I don't use them. I could open the article in a browser, but alas I do block Javascript there as well. Mathjax in…
Christos Georgiou-Mousses, Aris Panagiotidis, Andreas Vasilakis, David Corrigan, Aleksei Gorbonosov, Andrei Astapov, Ioannis Fudos Proceedings of Computer Graphics International 2026 Quality comparison of methods: FLIP mean error (white) and MSE * 10 2 (green). The ground truth is shown on the left with the depth complexity (maximum number of transparent layers) in the parenthesis. Abstract Neural…
Same procedure as last year We do not need to debate the merits of AI; this has been discussed to death on the web and reminds me of one of the many programming language wars I was involved in in the early 2000s, where a single language was somehow the solution to world hunger and memory allocation bugs. I wanted to talk about a part of my day to day work. I need to evaluate a lot of publications…
Knowledge is power Many of you may know me as a huge Warhammer 40,000 nerd. I like the absurd and over-the-top nature of it, the grimdark setting and stagnant vision of the future where, what is left of humanity, slowly rots from within. Many small quotes encapsulate the universe very well, but the following one from Dawn of War is one of my favorites: "Knowledge is power, hide it well." Astartes…
Tobias Alexander Franke Machine Learning Meetup Dublin Abstract Mobile hardware vendors are facing a growing number of game studios that seek to push AAA content on mobile platforms. In this talk I present an overview of the requirements for next-gen games on mobile: AAA asset sizes, raytracing, volumetric lighting, transparency for foliage, global illumination, high-detail characters, elaborate…
Christos Georgiou-Mousses, Ioannis Fudos, David Corrig and Tobias Alexander Franke Proceedings of Eurographics 2025 Abstract Order independent transparency (OIT) is a technique in computer graphics that allows for accurate rendering of transparent objects without the need to sort them in a specific order based on their depth. Traditional transparency methods often suffer from artifacts and…
Leave no stylesheet alive I read a lot. I read a lot of papers for instance. They are easy to read, because they have a common format, by which I mean their appearance. This is achieved in the academic community largely by separating markup, the language that describes what - in an article - constitutes a headline, a paragraph and so on, and the formatting of thosed marked up properties, through a…
The web is terrible: Redux The screams are getting louder, but the solutions keep getting dumber. I know that my background as a graphics programmer is adding heavy bias to my point of view, but I really do not send data-oriented design lectures from Mike Acton to random Electron-app developers because I think their code is slow. Nevertheless, corporate web programmers have collectively given up…
Tobias Alexander Franke and Royal O'Brien Tales from the 3rd Dimension Podcast Abstract Most listeners know that Huawei isn’t just a mobile phone company. But many might not realize that it runs a global network of research institutes that are working on optimizing engine development. Tobias Alexander Franke, principal game engine architect at Huawei, talks with Royal about why the company prefers…
Tobias Alexander Franke and Sandra O'Connell Irish Times Abstract I have been interviewed by the Irish Times on the topic of the Metaverse, what it is, why one would be interested in it, the big problem it is supposed to solve and how it will affect our lives. In this interview, I give a sober analysis of the Metaverse, and my goal is to cut out the hype. Links Irish Times Article Wayback Machine…
Tobias Alexander Franke Huawei GSTS 2022 Abstract Cloud-based gaming services have seen varying success in practice. Where-as multiplayer games feature a wide variety of aspects which are hosted remotely, most games today run exclusively on one device and require the customer to adapt to new hardware requirements in regular cycles, usually tied to the current console generation. Streaming-based…
Tobias Alexander Franke O3DECon 2021 Abstract Implementing global illumination for games at scale (on mobile devices and up to high end PCs) is a hard problem. O3DE currently uses DDGI as a solution to provide both baked and real-time global illumination. However several key issues need to be addressed before this system is ready for production. In this talk I want to address those issues:…
My name is Ozymandias In one of the more bizarre hiring encounters I've experienced, I sit together with my family at lunch when I receive a Twitter message followed by an email that can be paraphrased as Saw your online profile, would you be interested in joining Unity? A couple of weeks later I am in Copenhagen at the office. The atmosphere is relaxed, family-like even, and I am getting…
Veselin Efremov et al. and Tobias Alexander Franke Unity Demos The Heretic. Abstract The Heretic is a short film created by Unity's Demo team. After debuting its first part at GDC 2019, the completed short is now available to watch in its entirety. The Unity Demo team's mission is to push the boundaries of what is visually possible with Unity. With The Heretic , the team used every aspect of…
Tobias Alexander Franke and David Llewelyn Unity Blog Abstract In 2019.2, we removed the Lightmap Static Flag, replacing it with the Contribute Global Illumination Flag. We also introduced the ability to choose whether Global Illumination is received from Lightmap or Light Probes. These changes can have a huge impact on your baking performance, quality of Scene lighting, and more! Let’s explore…
The web is terrible Useful things tend to become invisible over time. I have a router running OpenBSD that I had not touched in a while. One day I logged in and got curious. $ uptime 12:26PM up 1583 days, 2:33, 1 user, load averages: 0.13, 0.12, 0.08 It had been running continuously for 4 years without interruption, happily doing its singular task. Similarly, tools like SSH, SCP, rsync, the…
Tobias Alexander Franke and Jakub Cupisz Unite Berlin 2018 Abstract Get an intro to the basics of lightmapping and the Progressive Lightmapper, and learn how to address and solve the most common issues our users experience. We also dig into the future roadmap for lightmapping in Unity. Supplemental Video Links Slides Unite Berlin 2018 Video Bibtex
Veselin Efremov et al. and Tobias Alexander Franke Unity Demos The opening shot. Abstract Unity's Demo Team, creators of Adam (2016) and The Blacksmith (2015), are excited to announce Book of the Dead, a first-person interactive story showcasing the capabilities of Unity 2018 for powering high-end visuals for game productions. The trailer is representative of the actual gameplay experience.…
The Grand Picture Most introductions and implementations of Precomputed Radiance Transfer will deal fairly well with the easiest use case: The double product integral for diffuse reflections. Beyond this scope however, few show how proper rotation of frequency-space encoded lighting works, and even fewer dive into the problem of view-dependency in PRT. Both of these are related, as they rely on…
Ever since the graphics field got expanded by a variety of new gadgets such as the Oculus Rift, Microsoft’s Kinect and HoloLens or the Leap Motion, and new parties moved in to expand their usage (in particular Magic Leap), I have seen a whole brigade of marketeers and fanboys come with them who have simply made stuff up or juggled around with terms they are evidently confused about at best . The…
The Basis In Linear Algebra, we're used to build a vector v out of other vectors v 1 , v 2 . v = v 1 + v 2 (1) Each vector is, at the very least, implicitly constructed out of its basis vectors. If there is no specific basis mentioned anywhere, we assume it to be a basis of unit vectors. For instance, for a two-dimensional space these are Φ 1 = ( 1 , 0 ) and Φ 2 = ( 0 , 1 ) , and that a vector v =…
Every graphics sub-discipline has its own holy grail, some go-to paper that everyone must have read to get into the necessary basics of the field: Physically Based Rendering has a book by the same name , Path Tracing has Eric Veach's dissertation , real-time global illumination has Reflective Shadow Maps . For Augmented Reality rendering, this go-to publication is Paul Debevec's Rendering…
Tobias Alexander Franke Technische Universität Darmstadt Abstract The wide availability of mobile devices capable of computing high fidelity graphics in real-time has sparked a renewed interest in the development and research of Augmented Reality applications. Within the large spectrum of mixed real and virtual elements one specific area is dedicated to produce realistic augmentations with the aim…
Tobias Alexander Franke ETH Zurich Visual Computing Talk Abstract With the high availability of powerful mobile devices a renewed interest in augmented reality and the plausible fusion of virtual objects into real environments emerged. This in turn has recently lead to new research seeking to adapt real-time global illumination algorithms for AR relighting. Because augmenting objects are directly…
Tobias Alexander Franke 2014 IEEE International Symposium on Mixed and Augmented Reality Mutual indirect reflections for arbitrary rough surfaces are supported with Delta Voxel Cone Tracing. The augmenting Buddha receives red real indirect reflected light from the paper wall on the right, and is reflected on a rough metal surface on the ground. Abstract Mixed reality applications which must…
Tobias Alexander Franke ACM SIGGRAPH 2014 Posters A relit Cornell Box augmented by the Buddha statue (left diffuse, right specular). The lower row shows a 16x enhanced difference image between a regularly lit scene and a scene augmented by the Buddha and relit with DVCT. Abstract When presenting synthetic objects in a real environment - for instance for pre-visualization in advertisements -…
Lukas Hermanns and Tobias Alexander Franke ACM SIGGRAPH 2014 Posters In the image, a checker board pattern in the specular buffer simulates tiles of different roughness. SSCT is used to simulate the appearance of a glossy reflection on rough tiles. Abstract A typical modern engine has a postprocessing pipeline which can be used to augment the final image from a previous render process with several…
I have reviewed my fair share of papers over the years and seen some heinous crimes in video editing for the customary media attachment: blurry, too large, strange codecs only recognized by VLC, mouse cursor and other GUI elements visible on screen, double letterboxing or outright interesting choices of aspect ratio. Several factors play into this, such as the usual last minute pressure when…
Some tutorials on importance sampling specular terms that are out in the wild have what I found to be an information gap: the step from the PDF to the actual sampling function is missing. Hopefully this step-by-step guide can help out one or two other confused readers. I checked all integrals with Maxima and Wolfram Alpha . If you just have a free account at Wolfram Alpha, you might run into…
Introduction A particularly brutal aspect of real-time rendering in AR environments is that your object is directly exposed to the physical reality around it for comparison. Unlike your typical game-engine, masking or hiding physical inaccuracies in the model used to simulate real reflection of light on your virtual object is not going to work very well when all the other objects on screen somehow…
Prologue When adding a virtual object into a real scene, the renderer has to shade the object depending on the incident light it receives. Furthermore, the renderer might also take care of changes on reality which were caused by the object, such as a drop-shadow from it. But before we proceed, let's not reinvent the wheel here: great inspiration can be drawn from the knowledge gathered in the film…
Before we begin, let's review the basics of an AR application that enhances the image by one or more additional 3D objects. Several components are necessary to get going, so lets just make a list of everything: Display - This is an easy one. We need some kind of display through which we perceive our newly enhanced world. This can be a mobile device such as a tablet, a smartphone or a HMD such as…
A quick note I wanted to make is about the difference between Augmented Reality and Spatial Augmented Reality aka Projection Mapping . The first is concerned with inserting objects or information into a real context with whatever means necessary. The second is a neat subset in the whole mixed reality field concerned with augmenting real surfaces with new properties. Optix-based SAR setup from the…
Augmented reality is popping up everywhere ! Of course the wide bandwidth of what everybody understands to be AR is a big factor. Primarily you've got your mobile apps which track your position and add more information to your surrounding , or the fun and educational stargazing tool . And let's not forget Google Glass . Every now and then, things get interesting: people want to see an additional,…
Tobias Alexander Franke 2013 IEEE International Symposium on Mixed and Augmented Reality A textured bust (left) is inserted into the scene, receiving red indirect light from the ground and casting a slight shadow. Abstract Indirect illumination is an important visual cue which has traditionally been neglected in mixed reality applications. We present Delta Light Propagation Volumes, a novel…
Tobias Alexander Franke ACM SIGGRAPH 2013 Posters Infinite Head model inserted into a real scene with one reconstructed light source: (a) a synthetic object is inserted without illumination, (b) visible first bounce around the base as well as low resolution shadow (32 propagations, 512^2 VPLs, 11ms per frame), (d) indirect effects without synthetic object for better visualization, (d)…
Karsten Schwenk, Tobias Alexander Franke et al. Proceedings of Eurographics 2010 A replication of the Metacow image rendered with our spectral PRT method. Left: Illuminant D65, center: Illuminant A, right: Illuminant F2. RGB rendering would not resolve the metamers under illuminants A and F2. Abstract Spectral rendering takes the full visible spectrum into account when calculating light-surface…
Tobias Alexander Franke and Yvonne Jung Proceedings of the 13th international conference on 3D web technology Based on an HDR environment map in latitude-longitude format the dragon is rendered via PRT within an X3D browser. Abstract We present a lightweight framework composed of two extensions to introduce precomputed radiance transfer (PRT) to X3D. Depending on the basis function, PRT is used to…
Tobias Alexander Franke and Yvonne Jung Proceedings of the Third International Conference on Computer Graphics Theory and Applications Shadows and occlusion are handled via differential rendering and reconstructed geometry. Abstract In this paper, we propose a combination of modern GPU-based methods that are able to generate high-quality, interactive real-time rendering for augmented and mixed…
Herb also added that I can quote him in telling you that 'The C++ Standardization Committee is insanely interested in this proposal'. – Andrei Alexandrescu, cpp-threads Mailingliste Einleitung Das im C++ ISO Standard definierte Modell zur Ausführung von Programmen ist single-threaded. Im Zeitalter von Multicore Prozessoren und Hyperthreading-Techniken ist es jedoch für viele Entwickler…
Abstract Programming errors that lead to unreliable and insecure programs are a problem that has been around since the very beginning of computer science. Most of these errors are caught via extensive testing and debugging. However, more serious bugs are often left in the code unnoticed, because either the interaction through which they can occur is too complex to understand, given a certain time…
Introduction There are various ways to make your terrain look realistic in respect to lighting. But because of the huge amount of data to be processed, dynamic lighting for instance isn't a good choice if your lightsource, the sun, never moves because it is on a static skybox. And even if the sun would change its position from time to time, it wouldn't make great sense to slow down your engine…
Introduction A terrain isn't textured by one pattern alone. Depending on the heightmap, there are a variety of features from sandy beaches to snowtop mountains that make up the range of possible texture combinations. With a set of textures for different landscape attributes at different heights and a heightmap, the only question that remains is: how to mix the textures? This short article will…