openscenegraph
osg/Sampler
Go to the documentation of this file.
1/* -*-c++-*-
2 * Copyright (C) 2017 Julien Valentin <mp3butcher@hotmail.com>
3 *
4 * This library is open source and may be redistributed and/or modified under
5 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
6 * (at your option) any later version. The full license is in LICENSE file
7 * included with this distribution, and on the openscenegraph.org website.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * OpenSceneGraph Public License for more details.
13*/
14#ifndef OSG_SAMPLER_H
15#define OSG_SAMPLER_H 1
16
17#include <osg/Texture>
18
19namespace osg{
29{
30 public:
32
34 Sampler(const Sampler& text,const CopyOp& copyop=CopyOp::SHALLOW_COPY);
35
37
38 virtual bool isTextureAttribute() const { return true; }
39
42
45
48
51
54 Texture::ShadowCompareFunc getShadowCompareFunc() const { return _shadow_compare_func; }
55
58 Texture::ShadowTextureMode getShadowTextureMode() const { return _shadow_texture_mode; }
59
63 void setBorderColor(const Vec4d& color);
64
66 const Vec4d& getBorderColor() const { return _borderColor; }
67
73 void setMaxAnisotropy(float anis);
74
76 inline float getMaxAnisotropy() const { return _maxAnisotropy; }
77
78 void setMinLOD(float anis);
79
81 inline float getMinLOD() const { return _minlod; }
82
83 void setMaxLOD(float anis);
84
86 inline float getMaxLOD() const { return _maxlod; }
87
88 void setLODBias(float anis);
89
91 inline float getLODBias() const { return _lodbias; }
92
95
96 virtual void apply(State& state) const;
97
98 virtual void compileGLObjects(State&) const;
99
101 virtual void releaseGLObjects(State* state=0) const;
102
103 virtual int compare(const StateAttribute& sa) const;
104
105 protected:
112
115 float _maxAnisotropy, _minlod, _maxlod, _lodbias;
116
119};
120}
121#endif
Definition CopyOp:41
Definition osg/Sampler:29
virtual void apply(State &state) const
Texture::FilterMode getFilter(Texture::FilterParameter which) const
buffered_value< GLuint > _PCsampler
Definition osg/Sampler:117
Texture::ShadowTextureMode _shadow_texture_mode
Definition osg/Sampler:110
Texture::WrapMode _wrap_r
Definition osg/Sampler:108
void setLODBias(float anis)
Vec4d _borderColor
Definition osg/Sampler:111
void setShadowTextureMode(Texture::ShadowTextureMode mode)
float getMaxLOD() const
Definition osg/Sampler:86
META_StateAttribute(osg, Sampler, SAMPLER) virtual bool isTextureAttribute() const
Definition osg/Sampler:36
buffered_value< uint8_t > _PCdirtyflags
Definition osg/Sampler:118
static void generateSamplerObjects(StateSet &)
void setShadowCompareFunc(Texture::ShadowCompareFunc func)
Texture::ShadowTextureMode getShadowTextureMode() const
Definition osg/Sampler:58
float getMinLOD() const
Definition osg/Sampler:81
void setMaxAnisotropy(float anis)
void setBorderColor(const Vec4d &color)
void setMaxLOD(float anis)
Texture::FilterMode _mag_filter
Definition osg/Sampler:114
Texture::WrapMode _wrap_s
Definition osg/Sampler:106
virtual void releaseGLObjects(State *state=0) const
Texture::ShadowCompareFunc getShadowCompareFunc() const
Definition osg/Sampler:54
virtual int compare(const StateAttribute &sa) const
void setWrap(Texture::WrapParameter which, Texture::WrapMode wrap)
Texture::WrapMode getWrap(Texture::WrapParameter which) const
float getLODBias() const
Definition osg/Sampler:91
Texture::FilterMode _min_filter
Definition osg/Sampler:113
Texture::ShadowCompareFunc _shadow_compare_func
Definition osg/Sampler:109
Sampler(const Sampler &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
Texture::WrapMode _wrap_t
Definition osg/Sampler:107
const Vec4d & getBorderColor() const
Definition osg/Sampler:66
float getMaxAnisotropy() const
Definition osg/Sampler:76
void setFilter(Texture::FilterParameter which, Texture::FilterMode filter)
void setMinLOD(float anis)
float _lodbias
Definition osg/Sampler:115
virtual void compileGLObjects(State &) const
Definition StateAttribute:77
Definition StateSet:46
Definition State:80
ShadowCompareFunc
Definition Texture:709
ShadowTextureMode
Definition Texture:724
FilterMode
Definition Texture:499
WrapMode
Definition Texture:467
WrapParameter
Definition Texture:461
FilterParameter
Definition Texture:494
Definition Vec4d:29
Definition buffered_value:27
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39