Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:02

0001 #pragma once
0002 
0003 #include <vector>
0004 #include <glm/glm.hpp>
0005 #include "AS.h"
0006 
0007 struct NP ; 
0008 
0009 /**
0010 IAS
0011 ===
0012 
0013 Static Build methods from glm::mat4 or float vector which must 
0014 contain a multiple of 16 values.
0015 
0016 For OpenGL convenience Opticks uses transforms like this
0017 with the transform in the last four slots in memory::
0018 
0019     1  0  0  a
0020     0  1  0  b
0021     0  0  1  c 
0022     tx ty tz d
0023 
0024 OptiX7 needs 3*4 floats, so transpose first::
0025 
0026     1  0  0  tx
0027     0  1  0  ty
0028     0  0  1  tz
0029     a  b  c  d
0030 
0031 The a,b,c,d are "spare" slots used to carry unsigned_as_float identity info.
0032 
0033 **/
0034 
0035 struct IAS : public AS
0036 {
0037     std::vector<glm::mat4>  trs ; 
0038     CUdeviceptr             d_instances ;   
0039 };
0040 
0041