Tobias FrischSo this is how Portal RTX looks using an RDNA2 GPU on Linux currently (at least with my setup). The heavy aliasing you can see depends on the "Diffuse Albedo" pass which is very likely rasterized (using DirectX 9 or in my case DxVk).
The artifacts are probably caused by rasterizing the edge in a wrong way. So very thin and round meshes are affected at most. Ray tracing passes seem to work fine.
However I needed to make a few adjustments in the developer settings panel:
Lighting: - "Enable RTXDI" → off - "Enable ReSTIR GI" → off Path tracing / Integrator: - "Enable Secondary Bounces" → on Volumetrics: - "Froxel Depth Slice Distribution" → 0.5
The game is rendering at 50% resolution scale with the upscaling you get targeting 1080p (so UI and some post processing is at 1080p). Obviously latency is pretty awful for any shooter (even Portal). So it's probably better to use different hardware but I wanted to see how good it gets. Maybe upcoming driver updates improve this a bit.
Portal RTX 1080p with RX 6800 (RADV 22.2.3)Tobias Frisch2022-12-08 | So this is how Portal RTX looks using an RDNA2 GPU on Linux currently (at least with my setup). The heavy aliasing you can see depends on the "Diffuse Albedo" pass which is very likely rasterized (using DirectX 9 or in my case DxVk).
The artifacts are probably caused by rasterizing the edge in a wrong way. So very thin and round meshes are affected at most. Ray tracing passes seem to work fine.
However I needed to make a few adjustments in the developer settings panel:
Lighting: - "Enable RTXDI" → off - "Enable ReSTIR GI" → off Path tracing / Integrator: - "Enable Secondary Bounces" → on Volumetrics: - "Froxel Depth Slice Distribution" → 0.5
The game is rendering at 50% resolution scale with the upscaling you get targeting 1080p (so UI and some post processing is at 1080p). Obviously latency is pretty awful for any shooter (even Portal). So it's probably better to use different hardware but I wanted to see how good it gets. Maybe upcoming driver updates improve this a bit.GNUnet Messenger: March 2022Tobias Frisch2022-03-20 | This is some example footage of the GNUnet Messenger running on the Pinephone Pro. The GUI application is implemented in C with GTK3 and libhandy to fit the mobile form factor. The responsive widgets also allow smooth navigation via swipe gestures.
Music: www.bensound.comMLS-MPM Simulation with VkCVTobias Frisch2022-02-07 | This video shows some MLS-MPM simulations using Vulkan compute shaders in realtime. It will either visualize the particles or the grid data structure containing weighted impulses and masses.
Some more details about this specific project can be found on my blog here: thejackimonster.blogspot.com/2022/02/material-point-method-in-vulkan.htmlGNUnet Messenger: December 2021Tobias Frisch2021-12-19 | This is a short preview of the current state developing a decentralized messaging application using GNUnet. The GUI application is implemented in C with GTK3 and libhandy to fit in mobile form factor.
Music: www.bensound.comRigid-Body-Physik with SDFs | a priori vs. a posterioriTobias Frisch2020-03-01 | This video shows four different passes of my test scenario. Two of them are use a realtime capable 'a priori' technique, the others use an 'a posteriori' collision test. All passes run about 30 seconds and use the same parameters for all objects. The simulations do all distinguish in a way because the calculations are related to the frametimes which drop at some points.
There is still much optimization to do but this video already shows a convenient difference between both techniques for collision detection.Rigid-Body-Physik with Signed Distance FieldsTobias Frisch2020-02-25 | This is an example for one of my passes to test different parameters in my physic engine. As you can see it allows rigid-body dynamics by using signed distance fields instead of the geometry.
All objects have a material with a "bounciness" and "roughness" of zero. These attributes relate to the behavior of each collision with another object. So the resulting impulse is minimal and no friction gets applied to them.
Caused by a lack of optimization some frames are dropped in this recording.