Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:58

0001 #pragma once
0002 /**
0003 CSGView.h
0004 ==========
0005 
0006 glm based eye, look, up projection transform maths
0007 
0008 * HMM: no CSG dependency, this can and should be done at lower sysrap level
0009 * TODO: review users and check for duplicated functionality   
0010 
0011 **/
0012 
0013 #include <string>
0014 #include <glm/glm.hpp>
0015 
0016 struct CSGView
0017 {
0018     glm::vec4 eye_model ; 
0019     glm::vec4 center_extent ; 
0020     glm::vec4 eye ; 
0021     glm::vec4 look ; 
0022     glm::vec4 up ; 
0023     glm::vec4 gaze ; 
0024     glm::vec4 U ; 
0025     glm::vec4 V ; 
0026     glm::vec4 W ; 
0027 
0028     void update(const glm::vec4& eye_model, const glm::vec4& ce, const unsigned width, const unsigned height ); 
0029     void dump(const char* msg="CSGView::dump") const ;
0030     void save(const char* dir) const ;
0031 
0032     static std::string desc( const char* label, const glm::vec4& v );
0033     static void collect4( float* f, unsigned i, const glm::vec4& v ); // static
0034 };
0035 
0036