Back to home page

EIC code displayed by LXR

 
 

    


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