53  const QVector<float> vert = { -1.0f, -1.0f, 0.0f, 
 
   60  const QByteArray vertexArr( ( 
const char * ) vert.constData(), vert.size() * 
sizeof( 
float ) );
 
   63  vertexBuffer->setData( vertexArr );
 
   65  positionAttribute->setName( Qt3DQAttribute::defaultPositionAttributeName() );
 
   66  positionAttribute->setVertexBaseType( Qt3DQAttribute::Float );
 
   67  positionAttribute->setVertexSize( 3 );
 
   68  positionAttribute->setAttributeType( Qt3DQAttribute::VertexAttribute );
 
   69  positionAttribute->setBuffer( vertexBuffer );
 
   70  positionAttribute->setByteOffset( 0 );
 
   71  positionAttribute->setByteStride( 3 * 
sizeof( 
float ) );
 
   72  positionAttribute->setCount( 6 );
 
   74  geom->addAttribute( positionAttribute );
 
   76  Qt3DRender::QGeometryRenderer *renderer = 
new Qt3DRender::QGeometryRenderer( 
this );
 
   77  renderer->setPrimitiveType( Qt3DRender::QGeometryRenderer::PrimitiveType::Triangles );
 
   78  renderer->setGeometry( geom );
 
   80  addComponent( renderer );
 
   82  mMaterial = 
new Qt3DRender::QMaterial( 
this );
 
   84  Qt3DRender::QEffect *effect = 
new Qt3DRender::QEffect( 
this );
 
   85  Qt3DRender::QTechnique *technique = 
new Qt3DRender::QTechnique( 
this );
 
   86  Qt3DRender::QGraphicsApiFilter *graphicsApiFilter = technique->graphicsApiFilter();
 
   87  graphicsApiFilter->setApi( Qt3DRender::QGraphicsApiFilter::Api::OpenGL );
 
   88  graphicsApiFilter->setProfile( Qt3DRender::QGraphicsApiFilter::OpenGLProfile::CoreProfile );
 
   89  graphicsApiFilter->setMajorVersion( 3 );
 
   90  graphicsApiFilter->setMinorVersion( 1 );
 
   91  Qt3DRender::QRenderPass *renderPass = 
new Qt3DRender::QRenderPass( 
this );
 
   92  mShader = 
new Qt3DRender::QShaderProgram( 
this );
 
   94  renderPass->setShaderProgram( 
mShader );
 
   96  Qt3DRender::QDepthTest *depthTest = 
new Qt3DRender::QDepthTest( 
this );
 
   97  depthTest->setDepthFunction( Qt3DRender::QDepthTest::Always );
 
   99  renderPass->addRenderState( depthTest );
 
  101  technique->addRenderPass( renderPass );
 
  103  effect->addTechnique( technique );
 
  108  addComponent( layer );