- User Since
- Mar 31 2015, 9:29 AM (275 w, 19 h)
Apple’s Metal contains a ray tracing framework similar to OptiX that could be a long term solution for GPU rendering on macOS.
OpenImageDenoise naturally doesn’t have an ARM port. There is however a denoiser that Apple includes in the Metal framework that we could use instead.
Come to think of - hair in motion is intersected correctly, scaled and squished according to the transformation matrix. The static ones are wrong. Not sure about whether normals are correct yet.
This can be reproduced with Cycles' BVH, Embree and Optix (D8223), so this is not isolated to our intersection code.
Thanks, that gave me a hint - mistake on my side, I inadvertently caused a code path that didn't set up usesPrimitiveTypeFlags properly.
I've tried it here, but am getting error an message from OptiX:
OPTIX_ERROR_INVALID_VALUE in optixBuiltinISModuleGet( context, &module_options, &pipeline_options, &builtin_options, &builtin_modules) (device_optix.cpp:479)
Mon, Jul 6
The cause seems to be that when BVH traversal goes into instanced BVHs, the inverse, non-uniformly scaled object matrix is being applied to the ray's origin and direction. The ray/curve intersection routines are unable to take that into account and both intersection calculation as well as the calculation of the normal are incorrect as a result.
Wed, Jul 1
Tue, Jun 30
Mon, Jun 29
Sun, Jun 28
Fri, Jun 26
It seems to go a bit further back than that. While simple scenes with hair (default cube) work, scenes like Fishy Cat were rendering wrong since cecda64e2ead502a052f9bea5ffde39e4a46bf90
Tue, Jun 23
Fri, Jun 19
Thu, Jun 18
The real big speedups come with motion blur. Taking the scene from the blog entry about the Agent 327 motion blur improvements (https://cloud.blender.org/blog/cycles-turbocharged-how-we-made-rendering-10x-faster), frame 105:
Embree vs BVH8 on an Intel CPU
Wed, Jun 17
Tue, Jun 16
On my Linux system (Ubuntu 1804), make deps fails for ispc with linker errors about missing llvm symbols.
Mon, Jun 15
Thu, Jun 11
Jun 4 2020
Jun 2 2020
May 29 2020
- Addressed review comments.
May 28 2020
- Cycles: Full consistency between volume and ray visiblity.
Sorry for the late reply.
As reference, this is what the scene looks like when every volume is visible to all rays. It is obvious that the object on the left, when set invisible to shadow rays, comes out much darker than it should.
Detailed description of the issue:
When maintaining the volume stack and tracking volume visibility at intersection level, we see problems when a path enters a volume as one kind of ray and leaves it as the other. It can happen that either an enter or leave event is missed and a volume is mistaken as either missing or infinite.
May 27 2020
May 18 2020
Updated install_deps.sh to 3.10.0.
Upgraded Embree to version 3.10.0
May 11 2020
Cooperative groups in CUDA 9+ should allow GPUs with SM 6.0 and newer to do adaptive sampling at the same granularity as the CPU.
May 7 2020
May 6 2020
Updated patch at D7634
May 5 2020
See D7623 for thick line support in Embree 3.9.0.
This enables the thick lines mentioned as missing in T73778
Mentioned in T76184
Thick line segments are now supported in Embree 3.9.0.
I'd like to upgrade to Embree 3.9.0 as well, since it supports thick line segments for hair. I can provide a patch. If we're now settled on TBB being a requirement, it might also be worth it to turn on TBB support in Embree.
Mar 10 2020
Mar 9 2020
Mar 8 2020
Mar 7 2020
Mar 6 2020
Reproduces with 1080Ti/CUDA 10.2 on Windows as well.
Mar 5 2020
We're reviewing an in-house patch right now that's per-object (not per-shader) step size as a user parameter, not determined automatically at the moment. Rationale for per-object is that we tend to reuse the same shader for multiple VDB objects, which may have different resolutions and densities.
CUDA 10.2 + PMJ commit shows the render error. CUDA 10.2 and any revision before the PMJ commit renders fine.
I plugged in my GTX 1080Ti and git blame points to the commit that brought the PMJ sampler:
It appears that I don't have a Wiki account yet, so I wasn't able to update the release notes.
Does not reproduce for me either with RTX Q4000, CUDA V10.2.89, gcc version 7.4.0, Nvidia drivers 440.33.01.