Ignore:
Timestamp:
06/05/06 23:14:04 (18 years ago)
Author:
mattausch
Message:

added mesh instance support
improved support for occlusion queries + other extensions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h

    r997 r1001  
    22#define __GLRENDERER_H 
    33 
     4//#include "glInterface.h" 
    45#include <QtOpenGL> 
    56#include <QWaitCondition> 
     7 
    68//#include <QGLPixelBuffer> 
    79 
     
    2628class GlRendererBuffer; 
    2729class BeamSampleStatistics; 
     30class OcclusionQuery; 
     31class TransformedMeshInstance; 
    2832 
    2933struct VssRayContainer; 
     
    107111  QWaitCondition mRenderingFinished; 
    108112   
    109   vector<unsigned int> mOcclusionQueries; 
     113  vector<OcclusionQuery *> mOcclusionQueries; 
    110114   
    111115  GlRenderer(SceneGraph *sceneGraph, 
     
    120124  void RenderViewCell(ViewCell *vc); 
    121125  void RenderMeshInstance(MeshInstance *mi); 
     126  void RenderTransformedMeshInstance(TransformedMeshInstance *mi); 
    122127  void RenderMesh(Mesh *m); 
    123128  void SetupMaterial(Material *m); 
     
    157162 
    158163 
    159   void 
    160   EvalRenderCostSample( 
    161                                            RenderCostSample &sample 
    162                                            ); 
    163  
    164   void 
    165   SampleRenderCost( 
    166                                    const int n, 
    167                                    vector<RenderCostSample> &samples 
    168                                    ); 
     164        /** Evaluates render cost of a point sample. 
     165                @param sample the render cost sample to be evaluated 
     166                @param useOcclusionQueries if occlusion queries should be used or item buffer 
     167                @param threshold number of pixels / samples from where an object is considered visible. 
     168        */ 
     169        void EvalRenderCostSample(RenderCostSample &sample, 
     170                                                          const bool useOcclusionQueries, 
     171                                                          const int threshold); 
     172 
     173        /** Evaluates render cost of a number of point samples. The point samples 
     174                are distributed uniformly over the defined view space. 
     175 
     176                @param numSamples the number of point samples taken 
     177                @param samples stores the taken point samples in a container 
     178                @param useOcclusionQueries if occlusion queries should be used or item buffer 
     179                @param threshold number of pixels / samples from where an object is considered visible. 
     180        */ 
     181        void SampleRenderCost(const int numSamples,  
     182                                                  vector<RenderCostSample> &samples, 
     183                                                  const bool useOcclusionQueries, 
     184                                                  const int threshold = 0); 
    169185 
    170186 
     
    234250                                                                         Intersectable *sourceObject); 
    235251 
     252        /** Evaluates query for one direction using item buffer. 
     253        */ 
    236254        void EvalQueryWithItemBuffer(); 
     255        /** Evaluates query for one direction using occlusion queries. 
     256        */ 
    237257        void EvalQueryWithOcclusionQueries(); 
    238258 
Note: See TracChangeset for help on using the changeset viewer.