File indexing completed on 2026-04-09 07:48:53
0001 #include <cassert>
0002 #include <cstring>
0003 #include <vector>
0004 #include "CU.h"
0005
0006 #include "scuda.h"
0007 #include "CSGPrim.h"
0008 #include "SCSGPrimSpec.h"
0009
0010 int main(int argc, char** argv)
0011 {
0012 int primOffset = 0 ;
0013 int numPrim = 10 ;
0014
0015 std::vector<CSGPrim> pp ;
0016 for(int i=0 ; i < numPrim ; i++)
0017 {
0018 CSGPrim p = {} ;
0019 p.setSbtIndexOffset(i);
0020 p.setAABB( float(1+i)*100.f );
0021 pp.push_back(p);
0022 }
0023
0024 CSGPrim* d_prim = CU::UploadVec(pp);
0025 SCSGPrimSpec psd = CSGPrim::MakeSpec( d_prim, primOffset, numPrim ); ;
0026 psd.device = true ;
0027 psd.downloadDump("CUTest.downloadDump");
0028
0029
0030 std::vector<CSGPrim> tt ;
0031 CU::DownloadVec(tt, d_prim, numPrim);
0032 for(int i=0 ; i < numPrim ; i++)
0033 {
0034 const CSGPrim& p = tt[i] ;
0035 std::cout << p.desc() << std::endl;
0036 }
0037 assert( 0 == memcmp( tt.data(), pp.data(), sizeof(CSGPrim)*numPrim ) );
0038
0039 return 0 ;
0040 }
0041
0042