Changeset 341
- Timestamp:
- 02/01/10 17:37:44 (2 years ago)
- Location:
- trunk/avango-osg
- Files:
-
- 4 added
- 7 edited
-
include/avango/osg/SConscript (modified) (1 diff)
-
include/avango/osg/Texture1D.h (added)
-
include/avango/osg/TexturedQuad.h (modified) (3 diffs)
-
python/SConscript (modified) (1 diff)
-
python/avango/osg/OSGImage.cpp (modified) (3 diffs)
-
python/avango/osg/OSGTexture1D.cpp (added)
-
python/avango/osg/OSGTexture1D.h (added)
-
src/avango/osg/Init.cpp (modified) (2 diffs)
-
src/avango/osg/SConscript (modified) (1 diff)
-
src/avango/osg/Texture1D.cpp (added)
-
src/avango/osg/TexturedQuad.cpp (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/avango-osg/include/avango/osg/SConscript
r316 r341 74 74 Text.h 75 75 Texture.h 76 Texture1D.h 76 77 Texture2D.h 77 78 Texture2DArray.h -
trunk/avango-osg/include/avango/osg/TexturedQuad.h
r338 r341 34 34 #include <avango/osg/Geometry.h> 35 35 #include <osg/Texture2D> 36 #include <avango/osg/Texture1D.h> 36 37 #include <avango/osg/Texture2D.h> 37 38 #include <osgDB/ReadFile> … … 72 73 SFVec4 Color; 73 74 SFVec3 Position; 74 SFTexture2D Texture; 75 //Due to backwards compatibility, thie flag indicates if the field Filename can be used to load a texture directly. 75 SFTexture1D Texture1D; 76 SFTexture2D Texture2D; 77 //Due to backwards compatibility, this flag indicates if the field Filename can be used to load a texture directly. 76 78 //If this is set to False, the Texture field must be used directly. Default is True 77 79 SFBool UseFilename; … … 99 101 bool mColorChanged; 100 102 bool mFilenameChanged; 101 bool mTextureChanged; 103 bool mTextureChanged1D; 104 bool mTextureChanged2D; 102 105 bool mTexCoordsChanged; 103 106 -
trunk/avango-osg/python/SConscript
r316 r341 92 92 avango/osg/OSGLoadImageStream.cpp 93 93 avango/osg/OSGTexture.cpp 94 avango/osg/OSGTexture1D.cpp 94 95 avango/osg/OSGTexture2D.cpp 95 96 avango/osg/OSGTexture2DArray.cpp -
trunk/avango-osg/python/avango/osg/OSGImage.cpp
r334 r341 28 28 #include <avango/osg/Image.h> 29 29 #include <osgDB/WriteFile> 30 #include <osgDB/ReadFile> 30 31 #include "OSGImage.h" 31 32 … … 49 50 } 50 51 52 av::Link< av::osg::Image> read_image_file(const std::string& name) 53 { 54 return av::Link< av::osg::Image>(new av::osg::Image( ::osgDB::readImageFile(name) ) ); 55 } 56 51 57 void init_OSGImage(void) 52 58 { … … 57 63 .def("write_file", write_image_file) 58 64 ; 65 def("read_image_file", read_image_file); 59 66 } -
trunk/avango-osg/src/avango/osg/Init.cpp
r317 r341 72 72 #include <avango/osg/Text.h> 73 73 #include <avango/osg/Texture.h> 74 #include <avango/osg/Texture1D.h> 74 75 #include <avango/osg/Texture2D.h> 75 76 #include <avango/osg/Texture2DArray.h> … … 136 137 av::osg::Text::initClass(); 137 138 av::osg::Texture::initClass(); 139 av::osg::Texture1D::initClass(); 138 140 av::osg::Texture2D::initClass(); 139 141 av::osg::Texture2DArray::initClass(); -
trunk/avango-osg/src/avango/osg/SConscript
r316 r341 79 79 Text.cpp 80 80 Texture.cpp 81 Texture1D.cpp 81 82 Texture2D.cpp 82 83 Texture2DArray.cpp -
trunk/avango-osg/src/avango/osg/TexturedQuad.cpp
r338 r341 43 43 mColorChanged(true), 44 44 mFilenameChanged(false), 45 mTextureChanged(false), 45 mTextureChanged1D(false), 46 mTextureChanged2D(false), 46 47 mTexCoordsChanged(false), 47 48 mVertexArray(new ::osg::Vec3Array(4)), … … 50 51 mTexCoords(new ::osg::Vec2Array(4)) 51 52 { 52 av::osg::Texture2D *texture = new av::osg::Texture2D(); 53 av::osg::Texture1D *texture1D = new av::osg::Texture1D(); 54 av::osg::Texture2D *texture2D = new av::osg::Texture2D(); 53 55 54 56 AV_FC_ADD_FIELD(Width, 1.0f); … … 58 60 AV_FC_ADD_FIELD(UseFilename, true); 59 61 AV_FC_ADD_FIELD(Filename, ""); 60 AV_FC_ADD_FIELD(Texture, texture); 62 AV_FC_ADD_FIELD(Texture1D, texture1D); 63 AV_FC_ADD_FIELD(Texture2D, texture2D); 61 64 AV_FC_ADD_FIELD(TexCoord01, ::osg::Vec2(0.0f,1.0f)); 62 65 AV_FC_ADD_FIELD(TexCoord00, ::osg::Vec2(0.0f,0.0f)); … … 65 68 66 69 SFVec3 TexCoord01; 67 SFVec3 TexCoord00;68 SFVec3 TexCoord10;69 SFVec3 TexCoord11;70 SFVec3 TexCoord00; 71 SFVec3 TexCoord10; 72 SFVec3 TexCoord11; 70 73 71 74 AV_FC_ADD_ADAPTOR_FIELD(MinFilter, … … 94 97 (*mTexCoords)[3].set(1.0f,1.0f); 95 98 getOsgGeometry()->setTexCoordArray(0,mTexCoords.get()); 96 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture.getValue()->getOsgTexture2D(),::osg::StateAttribute::ON);97 99 98 100 // set up texture 99 Texture .getValue()->getOsgTexture2D()->setWrap(::osg::Texture::WRAP_S, ::osg::Texture::CLAMP_TO_EDGE);100 Texture .getValue()->getOsgTexture2D()->setWrap(::osg::Texture::WRAP_T, ::osg::Texture::CLAMP_TO_EDGE);101 Texture2D.getValue()->getOsgTexture2D()->setWrap(::osg::Texture::WRAP_S, ::osg::Texture::CLAMP_TO_EDGE); 102 Texture2D.getValue()->getOsgTexture2D()->setWrap(::osg::Texture::WRAP_T, ::osg::Texture::CLAMP_TO_EDGE); 101 103 } 102 104 … … 143 145 } 144 146 145 if (&field == &Texture) 146 { 147 mTextureChanged = true; 147 if (&field == &Texture1D) 148 { 149 mTextureChanged1D = true; 150 } 151 152 if (&field == &Texture2D) 153 { 154 mTextureChanged2D = true; 148 155 } 149 156 … … 171 178 } 172 179 173 if (mFilenameChanged )180 if (mFilenameChanged && UseFilename.getValue()) 174 181 { 175 182 updateTexture(); … … 177 184 } 178 185 179 if (mTextureChanged) 180 { 181 if(!UseFilename.getValue()) 182 { 183 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture.getValue()->getOsgTexture2D(),::osg::StateAttribute::ON); 184 } 185 mTextureChanged = false; 186 if (mTextureChanged1D && !UseFilename.getValue()) 187 { 188 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture1D.getValue()->getOsgTexture1D(),::osg::StateAttribute::ON); 189 mTextureChanged1D = false; 190 } 191 192 if (mTextureChanged2D && !UseFilename.getValue()) 193 { 194 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture2D.getValue()->getOsgTexture2D(),::osg::StateAttribute::ON); 195 mTextureChanged2D = false; 186 196 } 187 197 … … 199 209 ::osg::ref_ptr< ::osg::Texture2D> 200 210 av::osg::TexturedQuad::getOsgTexture() const { 201 ::osg::ref_ptr< ::osg::Texture2D> tex = Texture .getValue()->getOsgTexture2D();211 ::osg::ref_ptr< ::osg::Texture2D> tex = Texture2D.getValue()->getOsgTexture2D(); 202 212 return tex; 203 213 } … … 225 235 if(Filename.getValue().size() != 0 && UseFilename.getValue()) 226 236 { 227 Texture.getValue()->getOsgTexture2D()->setImage(::osgDB::readImageFile(Filename.getValue())); 237 Texture2D.getValue()->getOsgTexture2D()->setImage(::osgDB::readImageFile(Filename.getValue())); 238 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture2D.getValue()->getOsgTexture2D(),::osg::StateAttribute::ON); 228 239 } 229 240 } … … 240 251 av::osg::TexturedQuad::getMinFilterCB(const av::SFInt::GetValueEvent& event) 241 252 { 242 *(event.getValuePtr()) = Texture .getValue()->getOsgTexture2D()->getFilter(::osg::Texture2D::MIN_FILTER);253 *(event.getValuePtr()) = Texture2D.getValue()->getOsgTexture2D()->getFilter(::osg::Texture2D::MIN_FILTER); 243 254 } 244 255 … … 246 257 av::osg::TexturedQuad::setMinFilterCB(const av::SFInt::SetValueEvent& event) 247 258 { 248 Texture .getValue()->getOsgTexture2D()->setFilter(::osg::Texture2D::MIN_FILTER,(::osg::Texture::FilterMode)(event.getValue()));259 Texture2D.getValue()->getOsgTexture2D()->setFilter(::osg::Texture2D::MIN_FILTER,(::osg::Texture2D::FilterMode)(event.getValue())); 249 260 } 250 261 … … 252 263 av::osg::TexturedQuad::getMagFilterCB(const av::SFInt::GetValueEvent& event) 253 264 { 254 *(event.getValuePtr()) = Texture .getValue()->getOsgTexture2D()->getFilter(::osg::Texture2D::MAG_FILTER);265 *(event.getValuePtr()) = Texture2D.getValue()->getOsgTexture2D()->getFilter(::osg::Texture2D::MAG_FILTER); 255 266 } 256 267 … … 258 269 av::osg::TexturedQuad::setMagFilterCB(const av::SFInt::SetValueEvent& event) 259 270 { 260 Texture .getValue()->getOsgTexture2D()->setFilter(::osg::Texture2D::MAG_FILTER,(::osg::Texture::FilterMode)(event.getValue()));271 Texture2D.getValue()->getOsgTexture2D()->setFilter(::osg::Texture2D::MAG_FILTER,(::osg::Texture2D::FilterMode)(event.getValue())); 261 272 } 262 273 … … 264 275 av::osg::TexturedQuad::getMaxAnisotropyCB(const av::SFFloat::GetValueEvent& event) 265 276 { 266 *(event.getValuePtr()) = Texture .getValue()->getOsgTexture2D()->getMaxAnisotropy();277 *(event.getValuePtr()) = Texture2D.getValue()->getOsgTexture2D()->getMaxAnisotropy(); 267 278 } 268 279 … … 270 281 av::osg::TexturedQuad::setMaxAnisotropyCB(const av::SFFloat::SetValueEvent& event) 271 282 { 272 Texture .getValue()->getOsgTexture2D()->setMaxAnisotropy(event.getValue());273 } 283 Texture2D.getValue()->getOsgTexture2D()->setMaxAnisotropy(event.getValue()); 284 }
Note: See TracChangeset
for help on using the changeset viewer.
