]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/sampler.h
Add color write mask to blend state
[libs/gl.git] / source / core / sampler.h
index 43d1e5412a2fe3df0bb732ac42bc6b1344e1b003..b2011d3bed3db8dc7631fc3224c37c6011d39c3f 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <msp/datafile/objectloader.h>
 #include "color.h"
-#include "gl.h"
 #include "predicate.h"
 
 namespace Msp {
@@ -12,38 +11,38 @@ namespace GL {
 enum TextureFilter
 {
        /// No filtering
-       NEAREST = GL_NEAREST,
+       NEAREST,
 
        /// Bilinear filtering
-       LINEAR = GL_LINEAR,
+       LINEAR,
 
        /// Mipmapping without filtering
-       NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST,
+       NEAREST_MIPMAP_NEAREST,
 
        /// Linear filtering between two mipmap levels
-       NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR,
+       NEAREST_MIPMAP_LINEAR,
 
        /// Bilinear filtering on the closest mipmap level
-       LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
+       LINEAR_MIPMAP_NEAREST,
 
        /// Trilinear filtering between two mipmap levels
-       LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR
+       LINEAR_MIPMAP_LINEAR
 };
 
 
 enum TextureWrap
 {
        /// Tile the texture infinitely
-       REPEAT = GL_REPEAT,
+       REPEAT,
 
        /// Extend the texels at the edge of the texture to infinity
-       CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,
+       CLAMP_TO_EDGE,
 
        /// Sampling outside the texture will return border color
-       CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER,
+       CLAMP_TO_BORDER,
 
        /// Tile the texture, with every other repetition mirrored
-       MIRRORED_REPEAT = GL_MIRRORED_REPEAT
+       MIRRORED_REPEAT
 };
 
 
@@ -63,6 +62,8 @@ wrapping is applied.  The default for all directions is REPEAT.
 */
 class Sampler
 {
+       friend class PipelineState;
+
 public:
        class Loader: public DataFile::ObjectLoader<Sampler>
        {
@@ -152,13 +153,13 @@ public:
 
        void refresh() const { if(dirty_params) update(); }
 
-       unsigned get_id() const { return id; }
-
        void set_debug_name(const std::string &);
 };
 
 
 bool is_mipmapped(TextureFilter);
+unsigned get_gl_filter(TextureFilter);
+unsigned get_gl_wrap(TextureWrap);
 
 void operator>>(const LexicalConverter &, TextureFilter &);
 void operator>>(const LexicalConverter &, TextureWrap &);