41 , mWithNormals( _withNormals )
42 , mInvertNormals( _invertNormals )
43 , mAddBackFaces( _addBackFaces )
44 , mAddTextureCoords( _addTextureCoords )
51 const int stride = tmpTess.
stride();
54 mPositionAttribute->setName( Qt3DQAttribute::defaultPositionAttributeName() );
55 mPositionAttribute->setVertexBaseType( Qt3DQAttribute::Float );
56 mPositionAttribute->setVertexSize( 3 );
57 mPositionAttribute->setAttributeType( Qt3DQAttribute::VertexAttribute );
58 mPositionAttribute->setBuffer( mVertexBuffer );
59 mPositionAttribute->setByteStride( stride );
60 mPositionAttribute->setByteOffset( 0 );
61 addAttribute( mPositionAttribute );
66 mNormalAttribute->setName( Qt3DQAttribute::defaultNormalAttributeName() );
67 mNormalAttribute->setVertexBaseType( Qt3DQAttribute::Float );
68 mNormalAttribute->setVertexSize( 3 );
69 mNormalAttribute->setAttributeType( Qt3DQAttribute::VertexAttribute );
70 mNormalAttribute->setBuffer( mVertexBuffer );
71 mNormalAttribute->setByteStride( stride );
72 mNormalAttribute->setByteOffset( 3 *
sizeof(
float ) );
73 addAttribute( mNormalAttribute );
75 if ( mAddTextureCoords )
78 mTextureCoordsAttribute->setName( Qt3DQAttribute::defaultTextureCoordinateAttributeName() );
79 mTextureCoordsAttribute->setVertexBaseType( Qt3DQAttribute::Float );
80 mTextureCoordsAttribute->setVertexSize( 2 );
81 mTextureCoordsAttribute->setAttributeType( Qt3DQAttribute::VertexAttribute );
82 mTextureCoordsAttribute->setBuffer( mVertexBuffer );
83 mTextureCoordsAttribute->setByteStride( stride );
84 mTextureCoordsAttribute->setByteOffset( mWithNormals ? 6 *
sizeof(
float ) : 3 *
sizeof(
float ) );
85 addAttribute( mTextureCoordsAttribute );
92 mTriangleIndexFids = triangleIndexFids;
94 mVertexBuffer->setData( vertexBufferData );
95 mPositionAttribute->setCount( vertexCount );
96 if ( mNormalAttribute )
97 mNormalAttribute->setCount( vertexCount );
98 if ( mTextureCoordsAttribute )
99 mTextureCoordsAttribute->setCount( vertexCount );
void setData(const QByteArray &vertexBufferData, int vertexCount, const QVector< QgsFeatureId > &triangleIndexFids, const QVector< uint > &triangleIndexStartingIndices)
Initializes vertex buffer (and other members) from data that were already tessellated.