Hello, I am doing ray tracing and plan to do multiple intersection tests with different rays in one kernel (shading loop). It works fine when I have two intersection tests, but will cause gpu break down when there are three intersection tests. Is there some rules that I need to obey? Thanks.
Post
Replies
Boosts
Views
Activity
I cannot set "minimum deployment version" of the software into MacOS 13.0 on MacOS 14.0 beta 2, with Xcode 15 beta. This will give me an error in GeneratedAssetSymbols.swift file. The error is: 'let' property 'isTemplate' may not be initialized directly; use "self.init(...)" or "self = ..." instead. However, development on MacOS 14 is totally fine.
Is this issue caused by my implementation or something changes in the SDK? Thanks!
I am learning Accelerating ray tracing using Metal. The area light has its own struct in this sample code, but I want to sample rays directly from the LightMesh. Can I get the instances and geometry of lightMesh without using resources buffer? It seems the geometries are already loaded in the GPU because Metal3 is able to do the intersection test. However, I can only get primitive_data during the intersection, and cannot get the information when I tried to do sampling.
Thanks a lot!
I found it is really difficult to add or modify the objects in MetalCPP with NS::Array, and there is no NS::MutableArray. I tried to use std::vector<MTL::AccelerationStructure*>* instead. However, MTL::InstanceAccelerationStructureDescriptor setInstancedAccelerationStructures() method needs to pass in a NS::Array type! How can I convert between them?
I did all those in C++.