示例#1
0
QList<AbstractRenderView *> DataMapping::renderViews() const
{
    decltype(renderViews()) list;
    for (auto && it : m_renderViews)
    {
        list.push_back(it.get());
    }
    return list;
}
示例#2
0
void tst_RenderQueue::checkOrder()
{
    // GIVEN
    Qt3DRender::Render::RenderQueue renderQueue;
    renderQueue.setTargetRenderViewCount(7);
    QVector<Qt3DRender::Render::RenderView *> renderViews(7);

    // WHEN
    for (int i = 0; i < 7; ++i) {
        int processingOrder = (i % 2 == 0) ? (6 - i) : i;
        renderViews[processingOrder] = new Qt3DRender::Render::RenderView();
        renderQueue.queueRenderView(renderViews[processingOrder], processingOrder);
    }

    // THEN
    QVector<Qt3DRender::Render::RenderView *> frame = renderQueue.nextFrameQueue();
    for (int i = 0; i < 7; ++i) {
        QVERIFY(frame[i] == renderViews[i]);
    }
}
示例#3
0
void tst_RenderQueue::checkTimeToSubmit()
{
    // GIVEN
    Qt3DRender::Render::RenderQueue renderQueue;
    renderQueue.setTargetRenderViewCount(7);
    QVector<Qt3DRender::Render::RenderView *> renderViews(7);

    // WHEN
    for (int i = 0; i < 7; i++) {
        int processingOrder = (i % 2 == 0) ? (6 - i) : i;
        renderViews[processingOrder] = new Qt3DRender::Render::RenderView();
        renderQueue.queueRenderView(renderViews[processingOrder], processingOrder);

        // THEN
        if (i < 6)
            QVERIFY(!renderQueue.isFrameQueueComplete());
        else
            QVERIFY(renderQueue.isFrameQueueComplete());
    }
}