Toying with Houdini, Gaffer, Cycles.
Working on hobby GPU raytracer in Rust/Metal
@kubo_von@mastodon.gamedev.place
- DoF / customizable bokeh
- DoF / customizable bokeh
- Nishita sky
- refraction
- VMF Diffuse
- Nishita sky
- refraction
- VMF Diffuse
Added light MIS, wavelenght importance sampling and really tried improving variance. Battle testing it on scene like this, basically only indirect light.
Added light MIS, wavelenght importance sampling and really tried improving variance. Battle testing it on scene like this, basically only indirect light.
- pathtracing!
- reading basic light and material props from .usd
- basic ggx+lambert shader
- Maya style navigation
#LightTransport #MetalShadingLanguage #RustLang
- pathtracing!
- reading basic light and material props from .usd
- basic ggx+lambert shader
- Maya style navigation
#LightTransport #MetalShadingLanguage #RustLang
Might not look like much, trying to get the basics in first.
- sample accumulation ( It flyies so fast on M4 pro! )
- switched from RGB to spectral rendering (hero wavelength / Scott Burns uplift)
- AgX ( a bit broken )
- .exr output
no ray bounces or fancy shading yet
Might not look like much, trying to get the basics in first.
- sample accumulation ( It flyies so fast on M4 pro! )
- switched from RGB to spectral rendering (hero wavelength / Scott Burns uplift)
- AgX ( a bit broken )
- .exr output
no ray bounces or fancy shading yet
-rays have been fired!
-reading a mesh from an USD file with normals and color using a custom rust wrapper around tinyusdz(c++)
-rays have been fired!
-reading a mesh from an USD file with normals and color using a custom rust wrapper around tinyusdz(c++)
Still just a raytraced triangle, but now rendered from a 3d camera which is controlled by mouse from egui. Also interpolating a primvar there.
Managed to get rid of Metal Kit, it was annoying to use in Rust. Now I'm using egui, it's a breeze to work with and I already know it.
Still just a raytraced triangle, but now rendered from a 3d camera which is controlled by mouse from egui. Also interpolating a primvar there.
Managed to get rid of Metal Kit, it was annoying to use in Rust. Now I'm using egui, it's a breeze to work with and I already know it.
It took a few evenings, but now I have working Rust + Apple Metal raytracing prototype. Now it's just writing the rest of the renderer.
It took a few evenings, but now I have working Rust + Apple Metal raytracing prototype. Now it's just writing the rest of the renderer.
Long time since I did a character too.
Started by buying a base mesh from George Zaky and tweaking it in Blender to roughly match proportions.
Long time since I did a character too.
Started by buying a base mesh from George Zaky and tweaking it in Blender to roughly match proportions.
- Pigments - One of the main reason I wanted to do a spectral renderer was the idea of avoiding specifying color in RGB and using something more real-world based.
- Blackbody option for lights.
I need to look into my sampling and seed again to improve the noise.
- Pigments - One of the main reason I wanted to do a spectral renderer was the idea of avoiding specifying color in RGB and using something more real-world based.
- Blackbody option for lights.
I need to look into my sampling and seed again to improve the noise.
implemented (basically just copy-pasted) EON diffuse model
( arxiv.org/html/2410.18...) without the importance sampling.
left - Lambert, right - EON
model by Henri-Alfred Jacquemart @ threedscans.com
implemented (basically just copy-pasted) EON diffuse model
( arxiv.org/html/2410.18...) without the importance sampling.
left - Lambert, right - EON
model by Henri-Alfred Jacquemart @ threedscans.com
- Switched from abusing default USD shaders to MaterialX, definitely not gonna implement all the MtlX nodes though, and I will still need some custom spectral-related nodes.
- Normal maps! I generate tangents in Houdini for now, before I find time to implement MikkT myself.
- Switched from abusing default USD shaders to MaterialX, definitely not gonna implement all the MtlX nodes though, and I will still need some custom spectral-related nodes.
- Normal maps! I generate tangents in Houdini for now, before I find time to implement MikkT myself.
- Rewrote BSDF sampling
- Textures! (tiled and with mip-making using custom tx make util)
- shadow rays not trasmitt through non-opaque objects
I think i'll start post more here now, in case it's finally the death of X.
- Rewrote BSDF sampling
- Textures! (tiled and with mip-making using custom tx make util)
- shadow rays not trasmitt through non-opaque objects
I think i'll start post more here now, in case it's finally the death of X.
github.com/kubo-von/egu...
github.com/kubo-von/egu...
Re-implemented random walk SSS. All is still noisy and slow but it's fun to be working on it again.
Re-implemented random walk SSS. All is still noisy and slow but it's fun to be working on it again.
Finally somewhat cracked refraction! Not sure if it's correct, but at least I can move on to other stuff, like all that noise for example.
#lighttransport
Finally somewhat cracked refraction! Not sure if it's correct, but at least I can move on to other stuff, like all that noise for example.
#lighttransport