I was recently inspired by this blogpost by Ben Fathi about the story behind the development of Windows Vista. Although probably everyone even outside the Windows development team knows about how technically challenging maintaining such a project must be, this article makes things even clearer. Microsoft has built his market position on top of the capability to reuse every program that has been written for previous versions. You can even upgrade from Windows 1.0 to current versions. It’s hard to say how…

At our startup Inreal, we offer service based visualization solutions for real estate companies. Our client contact is done via direct sales. During the last years, I strongly focused on training our sales team and developing our sales strategy. Let me share an insight with you and learn about a mindset difference between the good and the great people in sales. The sticky point As with the mastery of every skill, there are no shortcuts for learning the basics. However, a lot of good sales reps…

At this years Code conference, Elon Musk shared his view on the simulation hypothesis: The strongest argument for us being in a simulation probably is the following. Forty years ago we had pong. Like, two rectangles and a dot. That was what games were. Now, 40 years later, we have photorealistic, 3D simulations with millions of people playing simultaneously, and it’s getting better every year. Soon we’ll have virtual reality, augmented reality. If you assume any rate of improvement at…

The paper “An Adaptive Acceleration Structure for Screen-space Ray Tracing” recently caught our attention. It promises up to 80% upspeed compared to a classic DDA single layer raymarching. The raymarching is seen as an improvement to a classic DDA line rasterizer and uses a quadtree as an acceleration structure. The quadtree data is maintained in the MIP-Levels of an RG16F texture, making it really suitable for a common GPU implementation. The tracing itself is decoupled from the quadtree building step…

When using screen space global illumination, alpha blended surface become a problem because you can’t defer the ray evaluation. Doing the SS casts in a forward pass isn’t an option because of the high performance need and inability of temporal smoothing. Therefore, we implemented a system that collects stochastic queries of all currently rendered objects. The queries are triggered at a random point inside the bounding volume of the object. We then merge those “points of interest”, to get a…

Bent normals only Since “Bent Normals and Cones in Screen-space”, it’s common to store the average unoccluded direction for light evaluation or pre-convoluted cubemap lookups. This creates colored shadows and cubemap lookups around edges, but did not help us to improve the overall image quality significantly, which might correlate with the fact that we use a comparably low amount of pointlights in the scene who could benefit from bent normals. Subtracted Cubemap occlusion We extended the technique by introducing a…