> On 05 Jun 2016, at 00:50, Artem Fedoskin <afedosk...@gmail.com> wrote: > > As I understand there is no way to draw dashed line in Qt Quick Scene Graph > so I decided to create shader material to do this. > I'm trying to apply this approach http://korkd.com/2012/02/15/dashed-lines/ > to this example > http://doc.qt.io/qt-5/qtquick-scenegraph-simplematerial-example.html. > • How can I get ModelView matrix in my shader? I need to multiply > ModelView matrix by vertex to get its current position.
Hi Artem, The model view matrix is part of the QSGMaterialShader::RenderState that is passed in to the QSGMaterialShader::updateState() function which you use to apply the state for you material. > • How in this example works > QSGGeometry::defaultAttributes_TexturedPoint2D? What values does it store? The vertex shader in the code you link only uses a colorized 2D point, one vec4 for the position and one vec4 for the color, so you want that kind of vertex structure. QSGGeometry::defaultAttributes_ColorizedPoint2D() implements that for 2D at least. > • How can I pass sourcePoint (the first point of a line) to my shader? It is a uniform, so you write it during the QSGMaterialShader::updateState() function. > If someone knows better way to draw dashed line I would be grateful to you > for telling me it. An alternative approach would be to generate the line segments for the dashes and combining that with QSGGeometry::defaultAttributes_ColorizedPoint2D() and QSGVertexColorMaterial. It will be a bit more work to prepare and take up a bit more memory, but on the plus side, it will batch in the renderer, so it will probably be faster to draw if you have many instances of these dashed objects. The modelview/cos based implementation you link to will not support batching because each line needs a unique shader state, the model view matrix and perhaps also the source point. cheers, Gunnar > > Regards, Artem > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest