File indexing completed on 2026-04-09 07:49:42
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <optix.h>
0014
0015
0016 struct SOPTIX_Params
0017 {
0018 unsigned width ;
0019 unsigned height ;
0020 uchar4* pixels ;
0021
0022 float tmin ;
0023 float tmax ;
0024
0025 unsigned vizmask ;
0026 unsigned cameratype ;
0027
0028 float3 eye;
0029 float3 U;
0030 float3 V;
0031 float3 W;
0032
0033 float3 WNORM ;
0034 float4 ZPROJ ;
0035
0036 OptixTraversableHandle handle ;
0037
0038 #ifndef __CUDACC__
0039 static SOPTIX_Params* DeviceAlloc();
0040 void upload(SOPTIX_Params* d_param);
0041 #endif
0042
0043 };
0044
0045
0046 #ifndef __CUDACC__
0047
0048 inline SOPTIX_Params* SOPTIX_Params::DeviceAlloc()
0049 {
0050 SOPTIX_Params* d_param = nullptr ;
0051 CUDA_CHECK( cudaMalloc( reinterpret_cast<void**>( &d_param ), sizeof( SOPTIX_Params ) ) );
0052 return d_param ;
0053 }
0054 inline void SOPTIX_Params::upload(SOPTIX_Params* d_param)
0055 {
0056 CUDA_CHECK( cudaMemcpy( reinterpret_cast<void*>( d_param ), this, sizeof( SOPTIX_Params ), cudaMemcpyHostToDevice) );
0057
0058 }
0059
0060 #endif
0061
0062
0063
0064