]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/util/SGSceneFeatures.hxx
Remove using std:: from the metar header, remove HTTP support, add very basic unit...
[simgear.git] / simgear / scene / util / SGSceneFeatures.hxx
index 0aa46abc091f6368041cb0768500ca49fc7b538a..51261286c5ab0667cb727ed03fe658ac8bfc5e9f 100644 (file)
 
 #include <simgear/structure/SGReferenced.hxx>
 
+namespace osg { class Texture; }
+
 class SGSceneFeatures : public SGReferenced {
 public:
   static SGSceneFeatures* instance();
 
+  enum TextureCompression {
+    DoNotUseCompression,
+    UseARBCompression,
+    UseDXT1Compression,
+    UseDXT3Compression,
+    UseDXT5Compression
+  };
+
+  void setTextureCompression(TextureCompression textureCompression)
+  { _textureCompression = textureCompression; }
+  TextureCompression getTextureCompression() const
+  { return _textureCompression; }
+  void setTextureCompression(osg::Texture* texture) const;
+
   void setEnablePointSpriteLights(bool enable)
   { _pointSpriteLights = enable; }
+  bool getEnablePointSpriteLights() const
+  {
+      return _pointSpriteLights;
+  }
   bool getEnablePointSpriteLights(unsigned contextId) const
   {
     if (!_pointSpriteLights)
@@ -54,8 +74,13 @@ public:
       return false;
     return getHaveShaderPrograms(contextId);
   }
+  
+  void setTextureFilter(int max) 
+  { _textureFilter = max; }
+  int getTextureFilter() const
+  { return _textureFilter; }
 
-protected:  
+protected:
   bool getHavePointSprites(unsigned contextId) const;
   bool getHaveFragmentPrograms(unsigned contextId) const;
   bool getHaveVertexPrograms(unsigned contextId) const;
@@ -67,9 +92,11 @@ private:
   SGSceneFeatures(const SGSceneFeatures&);
   SGSceneFeatures& operator=(const SGSceneFeatures&);
 
+  TextureCompression _textureCompression;
   bool _shaderLights;
   bool _pointSpriteLights;
   bool _distanceAttenuationLights;
+  int  _textureFilter;
 };
 
 #endif