CrossFramework Library
|
00001 00006 #if defined(XG3D_INCLUDED_TEXSETTING_HPP) 00007 #else 00008 #define XG3D_INCLUDED_TEXSETTING_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/Bool.hpp> 00012 #include <XBase/Enum.hpp> 00013 #include <XG3D/Engine.hpp> 00014 #include <XG3D/TexAddress.hpp> 00015 #include <XG3D/TexFilter.hpp> 00016 00017 #if defined(XG3D_ENGINE_GLSERIES) 00018 #include <XG3D/TexSetting_GL.hpp> 00019 #endif 00020 00021 //------------------------------------------------------------ 00022 namespace XG3D { 00023 class TexBuffer; 00024 } 00025 00026 //------------------------------------------------------------ 00027 namespace XG3D { 00029 00030 00031 class TexSetting 00032 { 00033 public: 00035 00036 00037 TexSetting(); 00039 00041 00042 00048 bool isActive()const; 00049 void setIsActive( bool aIsActive ); 00050 00056 bool isBoundBuffer()const; 00057 void bindBuffer( const TexBuffer& ); 00058 void unbindBuffer(); 00059 00065 TexFilter minFilter()const; 00066 void setMinFilter( TexFilter ); 00067 00073 TexFilter magFilter()const; 00074 void setMagFilter( TexFilter ); 00075 00081 TexAddress addressU()const; 00082 void setAddressU( TexAddress ); 00083 00089 TexAddress addressV()const; 00090 void setAddressV( TexAddress ); 00091 00092 00093 // 内部実装用関数群。 00094 const TexSetting_EXT& ext_()const; 00095 TexSetting_EXT& ext_(); 00096 00097 private: 00098 TexSetting_EXT mEXT; 00099 ::XBase::Bool32 mIsActive; 00100 ::XBase::Enum8< TexFilter > mMinFilter; 00101 ::XBase::Enum8< TexFilter > mMagFilter; 00102 ::XBase::Enum8< TexAddress > mAddressU; 00103 ::XBase::Enum8< TexAddress > mAddressV; 00104 }; 00106 } 00107 //------------------------------------------------------------ 00108 #endif 00109 // EOF