예제 #1
0
        public virtual void BuildRaytracingAccelerationStructure(
            ref D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC pDesc,
            uint NumPostbuildInfoDescs,
            ref D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC pPostbuildInfoDescs
            )
        {
            var fp = GetFunctionPointer(72);

            if (m_BuildRaytracingAccelerationStructureFunc == null)
            {
                m_BuildRaytracingAccelerationStructureFunc = (BuildRaytracingAccelerationStructureFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(BuildRaytracingAccelerationStructureFunc));
            }

            m_BuildRaytracingAccelerationStructureFunc(m_ptr, ref pDesc, NumPostbuildInfoDescs, ref pPostbuildInfoDescs);
        }
예제 #2
0
        public virtual void EmitRaytracingAccelerationStructurePostbuildInfo(
            ref D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC pDesc,
            uint NumSourceAccelerationStructures,
            ref ulong pSourceAccelerationStructureData
            )
        {
            var fp = GetFunctionPointer(73);

            if (m_EmitRaytracingAccelerationStructurePostbuildInfoFunc == null)
            {
                m_EmitRaytracingAccelerationStructurePostbuildInfoFunc = (EmitRaytracingAccelerationStructurePostbuildInfoFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(EmitRaytracingAccelerationStructurePostbuildInfoFunc));
            }

            m_EmitRaytracingAccelerationStructurePostbuildInfoFunc(m_ptr, ref pDesc, NumSourceAccelerationStructures, ref pSourceAccelerationStructureData);
        }