Changeset 338
- Timestamp:
- 01/14/10 22:41:23 (2 years ago)
- Location:
- trunk/avango-osg
- Files:
-
- 2 edited
-
include/avango/osg/TexturedQuad.h (modified) (2 diffs)
-
src/avango/osg/TexturedQuad.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/avango-osg/include/avango/osg/TexturedQuad.h
r337 r338 80 80 SFInt MagFilter; 81 81 SFFloat MaxAnisotropy; 82 SFVec2 TexCoord01; 83 SFVec2 TexCoord00; 84 SFVec2 TexCoord10; 85 SFVec2 TexCoord11; 82 86 83 87 /* virtual */ void fieldHasChangedLocalSideEffect(const av::Field& field); … … 96 100 bool mFilenameChanged; 97 101 bool mTextureChanged; 102 bool mTexCoordsChanged; 103 98 104 ::osg::ref_ptr< ::osg::Vec3Array> mVertexArray; 99 105 ::osg::ref_ptr< ::osg::Vec3Array> mNormals; -
trunk/avango-osg/src/avango/osg/TexturedQuad.cpp
r337 r338 44 44 mFilenameChanged(false), 45 45 mTextureChanged(false), 46 mTexCoordsChanged(false), 46 47 mVertexArray(new ::osg::Vec3Array(4)), 47 48 mNormals(new ::osg::Vec3Array(1)), … … 58 59 AV_FC_ADD_FIELD(Filename, ""); 59 60 AV_FC_ADD_FIELD(Texture, texture); 60 61 AV_FC_ADD_FIELD(TexCoord01, ::osg::Vec2(0.0f,1.0f)); 62 AV_FC_ADD_FIELD(TexCoord00, ::osg::Vec2(0.0f,0.0f)); 63 AV_FC_ADD_FIELD(TexCoord10, ::osg::Vec2(1.0f,0.0f)); 64 AV_FC_ADD_FIELD(TexCoord11, ::osg::Vec2(1.0f,1.0f)); 65 66 SFVec3 TexCoord01; 67 SFVec3 TexCoord00; 68 SFVec3 TexCoord10; 69 SFVec3 TexCoord11; 61 70 62 71 AV_FC_ADD_ADAPTOR_FIELD(MinFilter, … … 136 145 if (&field == &Texture) 137 146 { 138 mTextureChanged = true; 147 mTextureChanged = true; 148 } 149 150 if (&field == &TexCoord01 || &field == &TexCoord00 || &field == &TexCoord10 || &field == &TexCoord11 ) 151 { 152 mTexCoordsChanged = true; 139 153 } 140 154 } … … 165 179 if (mTextureChanged) 166 180 { 167 if(!UseFilename.getValue())168 {181 if(!UseFilename.getValue()) 182 { 169 183 getOsgGeometry()->getOrCreateStateSet()->setTextureAttributeAndModes(0,Texture.getValue()->getOsgTexture2D(),::osg::StateAttribute::ON); 170 184 } 171 mTextureChanged = false; 185 mTextureChanged = false; 186 } 187 188 if (mTexCoordsChanged) 189 { 190 (*mTexCoords)[0] = TexCoord01.getValue(); 191 (*mTexCoords)[1] = TexCoord00.getValue(); 192 (*mTexCoords)[2] = TexCoord10.getValue(); 193 (*mTexCoords)[3] = TexCoord11.getValue(); 194 getOsgGeometry()->setTexCoordArray(0,mTexCoords.get()); 195 mTexCoordsChanged = false; 172 196 } 173 197 }
Note: See TracChangeset
for help on using the changeset viewer.
