Stefan Werner Profile picture
Tracing rays at @intel. Jack of all trades. Suburban white dad demanding inclusion of everyone who is not like me. he/him
Jul 25, 2022 15 tweets 4 min read
With @IntelGraphics Arc GPUs launching, I may or may not be sharing some of my experience developing for them here on Twitter.

Is that something you, my follower, would be interested in? @IntelGraphics I’d be talking about GPGPU development using SYCL. For APIs like DX or Vulkan, you’ll have to ask someone else.
Sep 24, 2020 13 tweets 6 min read
@andrewpprice They're not the same thing. If you like, I'd be happy to explain the details to you, but it's too long to fit into a tweet. @andrewpprice In a super dense format: The first use of ray tracing in computer graphics was proposed in 1968, and was focused on solving the visibility problem, not any light bounces.…
Mar 5, 2020 8 tweets 4 min read
Thanks to Brecht for reviewing my patch, adaptive sampling has now landed in #b3d #Blender #Cycles. For those interested in details:
It is following the approach outlined in sections 7.1.3 and 7.2 of this paper describing RenderMan:…

The error metric is from section 2.1 here:…
Oct 30, 2019 4 tweets 2 min read
I uploaded the slides from my presentation at #bcon19 about Cycles Volume rendering. They include speaker notes, so hopefully they are useful for those who didn't attend or watch the stream.!Ap47HIkOUU… Keep in mind that I prepared this talk on the train to Amsterdam, only to redo it almost completely in my hotel room the night before the presentation. Neither the slides nor the sample images in it are polished.
May 27, 2019 4 tweets 1 min read
Ich finde dieses CDU Zitat entlarvend für alle Parteien:
"Den Grünen ist das Geschäft mit der Angst am besten gelungen. Sie haben die Angst vor dem Klimawandel in Zustimmung ummünzen können. Diese Ängste haben [..] die Ängste vor Terror und Kriminalität übertroffen." Quelle:…
May 23, 2019 4 tweets 2 min read
Ich versuche (mehr schlecht als recht) meinen Twitteraccount auf C++, #b3d, ray tracing, und Technik zu beschränken und mich aus Politik rauszuhalten.

Heute eine Ausnahme: Ein Entwurf zur Verschärfung des #WaffG, der Bastler ("Maker"), Heim- und Handwerker betrifft: Die sogenannten Waffenverbotszonen sollen ausgeweitet werden auf Innenstädte, Schulen, etc. Klingt harmlos?
"waffenähnliche gefährliche Gegenstände gelten zum Beispiel Haushaltsmesser, Schraubendreher, Hammer und andere metallene oder scharfkantige Werkzeuge oder Holzstiele"
Apr 26, 2019 11 tweets 5 min read
Not sure how many of my followers write volumetric path tracers, but to those who do, here's a very specific tip:

When implementing equiangular sampling for one-sided area lights, make sure to exclude samples that lie on the back side of the light. ImageImage The literature I found (SIGGRAPH course notes, Kulla/Fajardo 2012 paper) don't go into exact details on how to do area lights optimally.

Source code and ugly drawing (it's mostly just a ray/plane intersection):… Image
Mar 4, 2019 4 tweets 1 min read
Unpopular opinion:
GUI visual design hit its peak around 1999/2000 with Windows Whistler's Watercolor. The perfect balance between 1990's bevels and todays "you don't even get an outline for buttons" UI. Aesthetics went for a nose dive right after that with XP's and OS X's overuse of highlighted shading. And whoever thought that OS X' pinstripes were a good idea should be forced to use it on a 50Hz interlaced CRT for a year.
Feb 20, 2019 4 tweets 2 min read
Does anyone have experience implementing Pixar's Progressive Multi-Jitter paper?…

I'm trying to divide into two classes, but am not getting the expected results. ImageImage Code at:…
I'm dividing based on (bool(sample & 2) ^ bool(sample & 8)) which should give me the AABBAABBBAABBAA order that the paper mentions.

Unless I have a mistake in my code, this should be a straightforward implementation of the paper's pseudocode.
Jan 30, 2019 7 tweets 4 min read
Testing @intel #OpenImageDenoise inside #b3d. Not fast enough for real-time on my ancient Ivy Bridge machine.

Quick and dirty hack into the drawing code, not taking advantage of albedo and normal buffers yet. Turned it into a compositing node. Extra inputs are still missing. This should be useful for denoising animations or using it with third party render engines. Image
Jan 29, 2019 4 tweets 1 min read
Time for some spring cleaning. Anyone interested in buying a barely used Nvidia Quadro K5000 or M4000? The K5000 works with macOS Mojave out of the box. Image These are in Germany and were used for testing and benchmarking CUDA code (Blender and Poser) I wrote on my laptop and/or my 1080Ti. Never did any extensive gaming, mining or rendering with them.
Jan 8, 2019 6 tweets 2 min read
We're doing #NazisRaus? Just in time, two days ago I got my hands on the diaries from my grandfather, who was drafted in the Wehrmacht, 4th Panzer division. I only skimmed it, reading it in full is sickening. However, I'll share (from memory) the last sentences he wrote. June 1945, the war was over for several weeks now, he finally made it home from the eastern front and saw what had happened to his family's farm while he was in battle:
Nov 16, 2018 4 tweets 1 min read
For being a 3D developer, I'm late to the #VR party - bought a @Lenovo Explorer this week. And I'm both impressed and disappointed at the same time: Impressed:
* Truly plug+play on Windows. Plug it in, Windows detects it and walks you through the setup.
* I love those controllers. Makes me want to get Max/MSP and go crazy.
* It works with SteamVR and WebVR too. That things are working across vendors and standards.
Nov 15, 2018 5 tweets 1 min read
Windows Mixed Reality Portal is the rebirth of Microsoft Bob. It's taking a new medium and instead of coming up with new and appropriate paradigms for interaction, it slaps on a "house" appearance. Instead of presenting you a straightforward list of software available to you (Start Menu), it requires you to discover and navigate.
Aug 21, 2018 10 tweets 4 min read
Back of the envelope calculation:
RTX 2080Ti: 10GRay/s @ 616GB/s mem bandwidth = 61 bytes/Ray
1 triangle, 3x 32 bit float3 vertices: 48 bytes
61 - 48 = 13 bytes left for BVH traversal

That would be under an ideal BVH that requires only 1 ray triangle intersection/ray Compressed wide BVH (…) requires 80 Bytes per BVH node. A balanced BVH8 over 1 million triangles is 7 level deep, so we're looking at 80 bytes * 7 = 560 bytes of processed data per ray. Times ten gigarays/s = 5.6 TB/s of bandwidth just for BVH traversal.
Jul 30, 2018 4 tweets 3 min read
Soon on @netflix: @NextGenthemovie…
Made with @blender_org #b3d
Happy I could work with the talent @ @tangent_anim Now that I have your attention:
My part was mostly making @CyclesRenderer ready for the job. The #Cryptomatte support I added is about to get into @blender_org master soon.
Then I plugged in @intel #embree for fast & efficient deformation motion blur.