示例#1
0
        internal Acceleration(Context ctx, IntPtr acc) : base(ctx)
        {
            InternalPtr = acc;
            CheckError(Api.rtAccelerationGetBuilder(InternalPtr, out var builderStr));
            mBuilder = (AccelBuilder)Enum.Parse(mBuilder.GetType(), builderStr);

            CheckError(Api.rtAccelerationGetTraverser(InternalPtr, out var traverseStr));
            mTraverser = (AccelTraverser)Enum.Parse(mTraverser.GetType(), traverseStr);
        }
示例#2
0
        public Acceleration(Context context, AccelBuilder mBuilder, AccelTraverser mTraverser) : base(context)
        {
            CheckError(Api.rtAccelerationCreate(context.InternalPtr, ref InternalPtr));
            gch = GCHandle.Alloc(InternalPtr, GCHandleType.Pinned);

            Builder   = mBuilder;
            Traverser = mTraverser;

            MarkAsDirty();
        }