diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-04-22 11:24:48 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-22 13:27:52 +0200 |
commit | 1fc89dedb83fd6f906f149538c1756755c514b69 (patch) | |
tree | e7f4d73559fcc43730d1ffe8e9d3286c1eb5a467 /src | |
parent | 0b081506b61239f54c994fe5932acca26f94f12a (diff) |
Categorized logging in Renderer
Logging categories in Renderer :
-Backend
-Frontend
-Framegraph
-Io
-Jobs
Also cleaned up things here and there while going
over various classes.
Change-Id: I8bf1da0769c764621236dc45e954d193c768e2af
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
34 files changed, 255 insertions, 209 deletions
diff --git a/src/render/backend/framegraph/cameraselectornode.cpp b/src/render/backend/framegraph/cameraselectornode.cpp index 664cd7300..5d10d5ad0 100644 --- a/src/render/backend/framegraph/cameraselectornode.cpp +++ b/src/render/backend/framegraph/cameraselectornode.cpp @@ -43,8 +43,6 @@ #include "rendercamera.h" -#include <QDebug> - QT_BEGIN_NAMESPACE namespace Qt3D { @@ -55,16 +53,6 @@ CameraSelector::CameraSelector(FrameGraphNode *parent) { } -void CameraSelector::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void CameraSelector::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } } diff --git a/src/render/backend/framegraph/cameraselectornode.h b/src/render/backend/framegraph/cameraselectornode.h index d60ac54ca..e39e42a8b 100644 --- a/src/render/backend/framegraph/cameraselectornode.h +++ b/src/render/backend/framegraph/cameraselectornode.h @@ -62,9 +62,6 @@ public: void setCameraEntity(Entity *cameraEntity) { m_cameraEntity = cameraEntity; } Entity *cameraEntity() const { return m_cameraEntity; } - void apply() Q_DECL_OVERRIDE; - void revert() Q_DECL_OVERRIDE; - private: Entity *m_cameraEntity; }; diff --git a/src/render/backend/framegraph/framegraphnode.cpp b/src/render/backend/framegraph/framegraphnode.cpp index 8e1cdc107..e1e610795 100644 --- a/src/render/backend/framegraph/framegraphnode.cpp +++ b/src/render/backend/framegraph/framegraphnode.cpp @@ -41,8 +41,6 @@ #include "framegraphnode.h" -#include <QDebug> - QT_BEGIN_NAMESPACE namespace Qt3D { @@ -70,16 +68,6 @@ FrameGraphNode::~FrameGraphNode() { } -void FrameGraphNode::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void FrameGraphNode::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } // namespace Render } // namespace Qt3D diff --git a/src/render/backend/framegraph/framegraphnode.h b/src/render/backend/framegraph/framegraphnode.h index ffed33107..6916c47a2 100644 --- a/src/render/backend/framegraph/framegraphnode.h +++ b/src/render/backend/framegraph/framegraphnode.h @@ -80,9 +80,6 @@ public: protected: FrameGraphNode(FrameGraphNodeType nodeType, FrameGraphNode *parent = 0); - virtual void apply(); - virtual void revert(); - private: FrameGraphNode *m_parent; QVector<FrameGraphNode *> m_children; diff --git a/src/render/backend/framegraph/renderpassfilternode.cpp b/src/render/backend/framegraph/renderpassfilternode.cpp index fb457f113..ff9fa29bf 100644 --- a/src/render/backend/framegraph/renderpassfilternode.cpp +++ b/src/render/backend/framegraph/renderpassfilternode.cpp @@ -41,8 +41,6 @@ #include "renderpassfilternode.h" -#include <QDebug> - QT_BEGIN_NAMESPACE namespace Qt3D { @@ -63,16 +61,6 @@ void RenderPassFilter::setFilter(const QString &filter) m_filter = filter; } -void RenderPassFilter::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void RenderPassFilter::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } // namespace Render } // namespace Qt3D diff --git a/src/render/backend/framegraph/renderpassfilternode.h b/src/render/backend/framegraph/renderpassfilternode.h index b485d245c..86e2c7f20 100644 --- a/src/render/backend/framegraph/renderpassfilternode.h +++ b/src/render/backend/framegraph/renderpassfilternode.h @@ -55,9 +55,6 @@ class RenderPassFilter : public Render::FrameGraphNode public: RenderPassFilter(Render::FrameGraphNode *parent = 0); - void apply() Q_DECL_OVERRIDE; - void revert() Q_DECL_OVERRIDE; - QString filter() const; void setFilter(const QString &filter); diff --git a/src/render/backend/framegraph/rendertargetselectornode.cpp b/src/render/backend/framegraph/rendertargetselectornode.cpp index b30f32707..0a79f697b 100644 --- a/src/render/backend/framegraph/rendertargetselectornode.cpp +++ b/src/render/backend/framegraph/rendertargetselectornode.cpp @@ -41,7 +41,6 @@ #include "rendertargetselectornode.h" -#include <QDebug> QT_BEGIN_NAMESPACE @@ -53,16 +52,6 @@ RenderTargetSelector::RenderTargetSelector(FrameGraphNode *parent) : { } -void RenderTargetSelector::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void RenderTargetSelector::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } // Render } // Qt3D diff --git a/src/render/backend/framegraph/rendertargetselectornode.h b/src/render/backend/framegraph/rendertargetselectornode.h index 97f1872e9..e37df2bdd 100644 --- a/src/render/backend/framegraph/rendertargetselectornode.h +++ b/src/render/backend/framegraph/rendertargetselectornode.h @@ -54,9 +54,6 @@ class RenderTargetSelector : public FrameGraphNode public: RenderTargetSelector(FrameGraphNode *parent = 0); - void apply(); - void revert(); - private: }; diff --git a/src/render/backend/framegraph/techniquefilternode.cpp b/src/render/backend/framegraph/techniquefilternode.cpp index 79a336006..05a57e47d 100644 --- a/src/render/backend/framegraph/techniquefilternode.cpp +++ b/src/render/backend/framegraph/techniquefilternode.cpp @@ -74,17 +74,6 @@ QVariant TechniqueFilter::filter(const QString &name) const return QVariant(); } - -void TechniqueFilter::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void TechniqueFilter::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } } diff --git a/src/render/backend/framegraph/techniquefilternode.h b/src/render/backend/framegraph/techniquefilternode.h index 6d301a48c..4e76271e1 100644 --- a/src/render/backend/framegraph/techniquefilternode.h +++ b/src/render/backend/framegraph/techniquefilternode.h @@ -58,9 +58,6 @@ class TechniqueFilter : public Render::FrameGraphNode public: TechniqueFilter(Render::FrameGraphNode *parent = 0); - void apply() Q_DECL_OVERRIDE; - void revert() Q_DECL_OVERRIDE; - QHash<QString, QVariant> filters() const; void appendFilter(const QString &name, const QVariant &filter); void removeFilter(const QString &name); diff --git a/src/render/backend/framegraph/viewportnode.cpp b/src/render/backend/framegraph/viewportnode.cpp index e5d548da1..1150e3e6b 100644 --- a/src/render/backend/framegraph/viewportnode.cpp +++ b/src/render/backend/framegraph/viewportnode.cpp @@ -94,16 +94,6 @@ void ViewportNode::setYMax(float yMax) m_yMax = yMax; } -void ViewportNode::apply() -{ - qDebug() << Q_FUNC_INFO; -} - -void ViewportNode::revert() -{ - qDebug() << Q_FUNC_INFO; -} - } // Render } // Qt3D diff --git a/src/render/backend/framegraph/viewportnode.h b/src/render/backend/framegraph/viewportnode.h index f661a9138..f6a315b80 100644 --- a/src/render/backend/framegraph/viewportnode.h +++ b/src/render/backend/framegraph/viewportnode.h @@ -54,9 +54,6 @@ class ViewportNode : public Render::FrameGraphNode public: ViewportNode(Render::FrameGraphNode *parent = 0); - void apply() Q_DECL_OVERRIDE; - void revert() Q_DECL_OVERRIDE; - float xMin() const; void setXMin(float xMin); diff --git a/src/render/backend/jobs/loadmeshdatajob.cpp b/src/render/backend/jobs/loadmeshdatajob.cpp index 9437ed439..54cb62dd3 100644 --- a/src/render/backend/jobs/loadmeshdatajob.cpp +++ b/src/render/backend/jobs/loadmeshdatajob.cpp @@ -47,8 +47,8 @@ #include <renderer.h> #include <meshmanager.h> -#include <QDebug> #include <QThread> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -64,10 +64,10 @@ LoadMeshDataJob::LoadMeshDataJob(const QString &source, const HMeshData &meshDat void LoadMeshDataJob::run() { - qDebug() << "Entering" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Entering" << Q_FUNC_INFO << QThread::currentThread(); // Load the mesh from disk (or wherever) - qDebug() << "Loading mesh from" << m_source; + qCDebug(Jobs) << "Loading mesh from" << m_source; ObjLoader loader; loader.setLoadTextureCoordinatesEnabled(true); @@ -75,20 +75,20 @@ void LoadMeshDataJob::run() MeshData *meshData = Q_NULLPTR; if (loader.load(m_source) && (meshData = m_renderer->meshManager()->data(m_meshDataHandle)) != Q_NULLPTR) { - qDebug() << Q_FUNC_INFO << "Loaded OBJ ok"; + qCDebug(Jobs) << Q_FUNC_INFO << "Loaded OBJ ok"; *meshData = *loader.mesh(); AttributePtr attr = meshData->attributeByName(QStringLiteral("position")); if (!attr) { - qWarning() << Q_FUNC_INFO << "unknown attribute: position"; + qCWarning(Jobs) << Q_FUNC_INFO << "unknown attribute: position"; return; } } else { - qWarning() << Q_FUNC_INFO << "OBJ load failure for:" << m_source; + qCWarning(Jobs) << Q_FUNC_INFO << "OBJ load failure for:" << m_source; } //Qt3D::Sphere sphere = Qt3D::Sphere::fromPoints(loader.vertices()); - qDebug() << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); } } // namespace Render diff --git a/src/render/backend/jobs/renderviewjob.cpp b/src/render/backend/jobs/renderviewjob.cpp index fc807b99b..ea8f3753a 100644 --- a/src/render/backend/jobs/renderviewjob.cpp +++ b/src/render/backend/jobs/renderviewjob.cpp @@ -44,7 +44,7 @@ #include <renderview.h> #include <renderer.h> -#include <QDebug> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -53,7 +53,7 @@ namespace Render { void RenderViewJob::run() { - qDebug() << Q_FUNC_INFO << m_index; + qCDebug(Jobs) << Q_FUNC_INFO << m_index; // Create a RenderView object RenderView *renderView = new RenderView; diff --git a/src/render/backend/jobs/updateboundingvolumejob.cpp b/src/render/backend/jobs/updateboundingvolumejob.cpp index c107b342c..07109157e 100644 --- a/src/render/backend/jobs/updateboundingvolumejob.cpp +++ b/src/render/backend/jobs/updateboundingvolumejob.cpp @@ -44,7 +44,7 @@ #include <rendernode.h> #include <sphere.h> -#include <QDebug> +#include "renderlogging.h" #include <QElapsedTimer> #include <QStack> #include <QThread> @@ -109,9 +109,9 @@ void UpdateBoundingVolumeJob::run() // bounding volumes of the children // TODO: Implement this using a parallel_for - qDebug() << "Entering" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Entering" << Q_FUNC_INFO << QThread::currentThread(); expandWorldBoundingVolume(m_node); - qDebug() << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); } } // namespace Render diff --git a/src/render/backend/jobs/updateworldtransformjob.cpp b/src/render/backend/jobs/updateworldtransformjob.cpp index 6e4644dcd..e3382d00e 100644 --- a/src/render/backend/jobs/updateworldtransformjob.cpp +++ b/src/render/backend/jobs/updateworldtransformjob.cpp @@ -45,7 +45,7 @@ #include <rendernode.h> #include <sphere.h> -#include <QDebug> +#include "renderlogging.h" #include <QThread> QT_BEGIN_NAMESPACE @@ -85,9 +85,9 @@ void UpdateWorldTransformJob::run() // TODO: Parallelise this on each level using a parallel_for // implementation. - qDebug() << "Entering" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Entering" << Q_FUNC_INFO << QThread::currentThread(); updateWorldTransformAndBounds(m_node); - qDebug() << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Jobs) << "Exiting" << Q_FUNC_INFO << QThread::currentThread(); } } // namespace Render diff --git a/src/render/backend/qgraphicscontext.cpp b/src/render/backend/qgraphicscontext.cpp index 2fede19da..66673da94 100644 --- a/src/render/backend/qgraphicscontext.cpp +++ b/src/render/backend/qgraphicscontext.cpp @@ -49,7 +49,7 @@ #include "qgraphicshelperinterface.h" -#include <QDebug> +#include "renderlogging.h" #include <QOpenGLShaderProgram> #if !defined(QT_OPENGL_ES_2) @@ -107,7 +107,7 @@ QGraphicsContext::~QGraphicsContext() void QGraphicsContext::setSurface(QSurface *s) { - qDebug() << Q_FUNC_INFO; + qCDebug(Backend) << Q_FUNC_INFO; m_surface = s; } @@ -119,7 +119,7 @@ void QGraphicsContext::initialize() GLint numTexUnits; glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &numTexUnits); - qDebug() << "context supports" << numTexUnits << "texture units"; + qCDebug(Backend) << "context supports" << numTexUnits << "texture units"; m_pinnedTextureUnits = QBitArray(numTexUnits); m_activeTextures.resize(numTexUnits); @@ -129,18 +129,18 @@ void QGraphicsContext::initialize() void QGraphicsContext::beginDrawing() { if (!m_gl || !m_surface) { - qWarning() << Q_FUNC_INFO << "no content or surface provided"; + qCWarning(Backend) << Q_FUNC_INFO << "no content or surface provided"; return; } bool ok = m_gl->makeCurrent(m_surface); if (!ok) { - qWarning() << Q_FUNC_INFO << "make current failed"; + qCWarning(Backend) << Q_FUNC_INFO << "make current failed"; } GLint err = glGetError(); if (err != 0) { - qWarning() << Q_FUNC_INFO << "glGetError:" << err; + qCWarning(Backend) << Q_FUNC_INFO << "glGetError:" << err; } if (!m_initialized) { @@ -276,7 +276,7 @@ void QGraphicsContext::setModelMatrix(const QMatrix4x4& modelMat) GLint progId; glGetIntegerv(GL_CURRENT_PROGRAM, &progId); if (progId != (int) prog->programId()) { - qWarning() << "current program mismatch, very bad:" << progId << prog->programId(); + qCWarning(Backend) << "current program mismatch, very bad:" << progId << prog->programId(); return; } @@ -332,7 +332,7 @@ void QGraphicsContext::setModelMatrix(const QMatrix4x4& modelMat) int err = glGetError(); if (err) - qWarning() << "GL error after setting matrix" << QString::number(err, 16) << i << loc; + qCWarning(Backend) << "GL error after setting matrix" << QString::number(err, 16) << i << loc; } // of standard uniforms } @@ -355,7 +355,7 @@ int QGraphicsContext::activateTexture(TextureScope scope, RenderTexture *tex, in int err = glGetError(); if (err) - qWarning() << "GL error after activating texture" << QString::number(err, 16) + qCWarning(Backend) << "GL error after activating texture" << QString::number(err, 16) << tex->textureId() << "on unit" << onUnit; m_textureScores[tex] = 200; @@ -389,16 +389,16 @@ void QGraphicsContext::resolveHighestOpenGLFunctions() #if defined QT_OPENGL_ES_2 if ((glFunctions = m_gl->versionFunctions<QOpenGLFunctions_ES2>()) != Q_NULLPTR) { - qDebug() << Q_FUNC_INFO << " Building OpenGL 2/ES2 Helper"; + qCDebug(Backend) << Q_FUNC_INFO << " Building OpenGL 2/ES2 Helper"; m_glHelper = new QGraphicsHelperES2(); } #else if ((glFunctions = m_gl->versionFunctions<QOpenGLFunctions_3_2_Core>()) != Q_NULLPTR) { - qDebug() << Q_FUNC_INFO << " Building OpenGL 3.2"; + qCDebug(Backend) << Q_FUNC_INFO << " Building OpenGL 3.2"; m_glHelper = new QGraphicsHelperGL3(); } else if ((glFunctions = m_gl->versionFunctions<QOpenGLFunctions_2_0>()) != Q_NULLPTR) { - qDebug() << Q_FUNC_INFO << " Building OpenGL 2 Helper"; + qCDebug(Backend) << Q_FUNC_INFO << " Building OpenGL 2 Helper"; m_glHelper = new QGraphicsHelperGL2(); } #endif @@ -416,7 +416,7 @@ void QGraphicsContext::deactivateTexture(RenderTexture* tex) } } // of units iteration - qWarning() << Q_FUNC_INFO << "texture not active:" << tex; + qCWarning(Backend) << Q_FUNC_INFO << "texture not active:" << tex; } void QGraphicsContext::setCurrentStateSet(DrawStateSet *ss) @@ -516,7 +516,7 @@ GLint QGraphicsContext::assignUnitForTexture(RenderTexture *tex) } // of units iteration if (lowestScoredUnit == -1) { - qWarning() << Q_FUNC_INFO << "NO free texture units!"; + qCWarning(Backend) << Q_FUNC_INFO << "NO free texture units!"; return GL_INVALID_VALUE; } @@ -529,7 +529,7 @@ void QGraphicsContext::decayTextureScores() // traversal coherency and subsequent modification. Q_FOREACH (RenderTexture* t, m_textureScores.keys()) { if ((m_textureScores[t]--) <= 0) { - qDebug() << "removing inactive texture" << t; + qCDebug(Backend) << "removing inactive texture" << t; m_textureScores.remove((t)); } } @@ -550,7 +550,7 @@ void QGraphicsContext::specifyAttribute(QString nm, AttributePtr attr) QOpenGLShaderProgram* prog = activeShader(); int location = prog->attributeLocation(nm); if (location < 0) { - qWarning() << "failed to resolve location for attribute:" << nm; + qCWarning(Backend) << "failed to resolve location for attribute:" << nm; return; } prog->enableAttributeArray(location); @@ -571,13 +571,13 @@ void QGraphicsContext::specifyAttribute(QString nm, AttributePtr attr) void QGraphicsContext::specifyIndices(AttributePtr attr) { if (attr->buffer()->type() != QOpenGLBuffer::IndexBuffer) { - qWarning() << Q_FUNC_INFO << "provided buffer is not correct type"; + qCWarning(Backend) << Q_FUNC_INFO << "provided buffer is not correct type"; return; } QOpenGLBuffer buf = glBufferFor(attr->buffer()); if (!buf.bind()) - qWarning() << Q_FUNC_INFO << "binding index buffer failed"; + qCWarning(Backend) << Q_FUNC_INFO << "binding index buffer failed"; // bind within the current VAO } diff --git a/src/render/backend/rendercommand.h b/src/render/backend/rendercommand.h index b2fad1943..af184243b 100644 --- a/src/render/backend/rendercommand.h +++ b/src/render/backend/rendercommand.h @@ -43,8 +43,8 @@ #define QT3D_RENDER_RENDERCOMMAND_H #include <qglobal.h> -#include <quniformvalue.h> -#include <meshdata.h> +#include <Qt3DRenderer/quniformvalue.h> +#include <Qt3DRenderer/meshdata.h> #include <QOpenGLVertexArrayObject> #include <QOpenGLShaderProgram> #include <QOpenGLTexture> diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index 8b8f9821a..825b1dbf9 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -81,8 +81,8 @@ #include <renderview.h> #include <rendercommand.h> +#include "renderlogging.h" #include <QStack> -#include <QDebug> #include <QSurface> #include <QElapsedTimer> @@ -263,7 +263,7 @@ void Renderer::initialize() void Renderer::setFrameGraphRoot(Render::FrameGraphNode *fgRoot) { - qDebug() << Q_FUNC_INFO; + qCDebug(Backend) << Q_FUNC_INFO; m_frameGraphRoot = fgRoot; } @@ -278,7 +278,7 @@ void Renderer::setSceneObject(Qt3D::Node *obj) if (sc) { setSceneGraphRoot(sc); } else - qWarning() << Q_FUNC_INFO << "couldn't find Scene object"; + qCWarning(Backend) << Q_FUNC_INFO << "couldn't find Scene object"; } // QAspectThread context @@ -296,11 +296,11 @@ void Renderer::setSceneGraphRoot(Node *sgRoot) // parser should parse the file if two parsers support the same // format - qDebug() << "building temporary backend"; + qCDebug(Backend) << "building temporary backend"; m_sceneGraphRoot = scene; TemporaryBackendBuilder tbb(this); tbb.traverse(m_sceneGraphRoot); - qDebug() << "done building backend"; + qCDebug(Backend) << "done building backend"; // QMetaObject::invokeMethod(m_frameTimer, "start"); } else { @@ -310,10 +310,10 @@ void Renderer::setSceneGraphRoot(Node *sgRoot) builder.traverse(m_sceneGraphRoot); RenderNode *root = builder.rootNode(); if (!root) - qWarning() << "Failed to build render scene"; + qCWarning(Backend) << "Failed to build render scene"; m_renderSceneRoot = root; - qDebug() << Q_FUNC_INFO << "DUMPING SCENE"; + qCDebug(Backend) << Q_FUNC_INFO << "DUMPING SCENE"; root->dump(); // Queue up jobs to do initial full updates of @@ -333,7 +333,7 @@ Node *Renderer::sceneGraphRoot() const // Cannot do OpenGLContext initialization here void Renderer::setSurface(QSurface* s) { - qDebug() << Q_FUNC_INFO << QThread::currentThread(); + qCDebug(Backend) << Q_FUNC_INFO << QThread::currentThread(); m_surface = s; } @@ -422,7 +422,7 @@ void Renderer::enqueueRenderView(Render::RenderView *renderView, int submitOrder // Happens in RenderThread context when all RenderViewJobs are done void Renderer::submitRenderViews() { - qDebug() << Q_FUNC_INFO << 1 << QThread::currentThread(); + qCDebug(Backend) << Q_FUNC_INFO << 1 << QThread::currentThread(); QMutexLocker locker(&m_mutex); m_submitRenderViewsCondition.wait(locker.mutex()); // Allow RenderViewJobs to be processed for the next frame @@ -432,7 +432,7 @@ void Renderer::submitRenderViews() // Any important state change that could be in a RenderView locker.unlock(); - qDebug() << Q_FUNC_INFO << 2 << QThread::currentThread(); + qCDebug(Backend) << Q_FUNC_INFO << 2 << QThread::currentThread(); if (m_graphicsContext == Q_NULLPTR || m_surface == Q_NULLPTR) { m_graphicsContext = new QGraphicsContext; QOpenGLContext* ctx = new QOpenGLContext; @@ -440,7 +440,7 @@ void Renderer::submitRenderViews() QSurfaceFormat sf = m_surface->format(); ctx->setFormat(sf); if (!ctx->create()) - qWarning() << Q_FUNC_INFO << "OpenGL context creation failed"; + qCWarning(Backend) << Q_FUNC_INFO << "OpenGL context creation failed"; m_graphicsContext->setOpenGLContext(ctx); } @@ -451,7 +451,7 @@ void Renderer::submitRenderViews() timer.start(); for (int i = 0; i < renderViews.size(); i++) executeCommands(renderViews[i]); - qDebug() << Q_FUNC_INFO << "Submission took " << timer.elapsed() << "ms"; + qCDebug(Backend) << Q_FUNC_INFO << "Submission took " << timer.elapsed() << "ms"; qDeleteAll(renderViews); m_frameCount++; } @@ -489,7 +489,7 @@ QJobPtr Renderer::createRenderViewJob(FrameGraphNode *node, int submitOrderIndex // Called by RenderView->submit() in RenderThread context void Renderer::executeCommands(const RenderView *renderView) { - qDebug() << Q_FUNC_INFO; + qCDebug(Backend) << Q_FUNC_INFO; // Render drawing commands // Use the graphicscontext to submit the commands to the underlying @@ -535,7 +535,7 @@ void Renderer::executeCommands(const RenderView *renderView) //// Draw Calls // Set state m_graphicsContext->setCurrentStateSet(technique->stateSetForPass(0)); -// m_graphicsContext->activateShader(technique->shaderForPass(0)); + // m_graphicsContext->activateShader(technique->shaderForPass(0)); m_graphicsContext->setModelMatrix(command->m_worldMatrix); m_graphicsContext->setActiveMaterial(mat); mat->setUniformsForPass(0, m_graphicsContext); @@ -555,7 +555,7 @@ void Renderer::executeCommands(const RenderView *renderView) int err = glGetError(); if (err) - qWarning() << "GL error after drawing mesh:" << QString::number(err, 16); + qCWarning(Backend) << "GL error after drawing mesh:" << QString::number(err, 16); command->m_vao.release(); @@ -629,7 +629,7 @@ RenderTechnique* Renderer::createTechnique(Technique* tech) RenderMaterial* Renderer::getOrCreateMaterial(Material* mat) { if (!m_materialHash.contains(mat)) { - qDebug() << "creating render material for mat:" << mat->objectName(); + qCDebug(Backend) << "creating render material for mat:" << mat->objectName(); RenderMaterial* rmat = new RenderMaterial(); rmat->setRendererAspect(m_rendererAspect); diff --git a/src/render/backend/rendernode.cpp b/src/render/backend/rendernode.cpp index edc4888ee..af05a9f8b 100644 --- a/src/render/backend/rendernode.cpp +++ b/src/render/backend/rendernode.cpp @@ -52,7 +52,7 @@ #include <QMatrix4x4> #include <QString> -#include <QDebug> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -124,7 +124,7 @@ void RenderNode::dump() const { static int depth = 0; QString indent(2 * depth++, QChar::fromLatin1(' ')); - qDebug() << indent + m_frontEndPeer->objectName(); + qCDebug(Backend) << indent + m_frontEndPeer->objectName(); foreach (const RenderNode *child, children()) child->dump(); --depth; diff --git a/src/render/backend/renderscenebuilder.cpp b/src/render/backend/renderscenebuilder.cpp index 2a35e7e0b..131837257 100644 --- a/src/render/backend/renderscenebuilder.cpp +++ b/src/render/backend/renderscenebuilder.cpp @@ -46,6 +46,7 @@ #include "cameramanager.h" #include "renderer.h" #include "rendernode.h" +#include "renderlogging.h" #include <camera.h> #include <cameralens.h> @@ -93,7 +94,7 @@ Render::FrameGraphNode *RenderSceneBuilder::buildFrameGraph(Node *node) if (node == Q_NULLPTR) return Q_NULLPTR; - qDebug() << Q_FUNC_INFO << node->objectName(); + qCDebug(Backend) << Q_FUNC_INFO << node->objectName(); Render::FrameGraphNode *fgNode = Q_NULLPTR; Qt3D::FrameGraphItem *fgItem = Q_NULLPTR; @@ -135,7 +136,7 @@ Render::FrameGraphNode *RenderSceneBuilder::backendFrameGraphNode(Qt3D::FrameGra Qt3D::TechniqueFilter* techniqueFilter = qobject_cast<Qt3D::TechniqueFilter*>(block); Render::TechniqueFilter *techniqueFilterNode = new Render::TechniqueFilter(); - qDebug() << Q_FUNC_INFO << "TechniqueFilter"; + qCDebug(Backend) << Q_FUNC_INFO << "TechniqueFilter"; foreach (Tag *tag, techniqueFilter->tags()) techniqueFilterNode->appendFilter(tag->name(), tag->value()); return techniqueFilterNode; @@ -144,7 +145,7 @@ Render::FrameGraphNode *RenderSceneBuilder::backendFrameGraphNode(Qt3D::FrameGra Qt3D::Viewport *viewport = qobject_cast<Qt3D::Viewport*>(block); Render::ViewportNode *viewportNode = new Render::ViewportNode(); - qDebug() << Q_FUNC_INFO << "Viewport"; + qCDebug(Backend) << Q_FUNC_INFO << "Viewport"; viewportNode->setXMin(viewport->rect().x()); viewportNode->setXMax(viewport->rect().width()); viewportNode->setYMin(viewport->rect().y()); @@ -155,7 +156,7 @@ Render::FrameGraphNode *RenderSceneBuilder::backendFrameGraphNode(Qt3D::FrameGra Qt3D::RenderPassFilter *renderPassFilter = qobject_cast<Qt3D::RenderPassFilter*>(block); Render::RenderPassFilter *renderPassFilterNode = new Render::RenderPassFilter(); - qDebug() << Q_FUNC_INFO << "RenderPassFilter"; + qCDebug(Backend) << Q_FUNC_INFO << "RenderPassFilter"; renderPassFilterNode->setFilter(renderPassFilter->renderPassName()); return renderPassFilterNode; } @@ -163,7 +164,7 @@ Render::FrameGraphNode *RenderSceneBuilder::backendFrameGraphNode(Qt3D::FrameGra Qt3D::CameraSelector *cameraSelector = qobject_cast<Qt3D::CameraSelector*>(block); Render::CameraSelector *cameraSelectorNode = new Render::CameraSelector(); - qDebug() << Q_FUNC_INFO << "CameraSelector"; + qCDebug(Backend) << Q_FUNC_INFO << "CameraSelector"; cameraSelectorNode->setCameraEntity(cameraSelector->camera()); return cameraSelectorNode; } @@ -172,7 +173,7 @@ Render::FrameGraphNode *RenderSceneBuilder::backendFrameGraphNode(Qt3D::FrameGra Render::RenderTargetSelector *renderTargetSelectorNode = new Render::RenderTargetSelector(); // TO DO - qDebug() << Q_FUNC_INFO << "RenderTargetSelector"; + qCDebug(Backend) << Q_FUNC_INFO << "RenderTargetSelector"; return renderTargetSelectorNode; } return Q_NULLPTR; @@ -190,7 +191,7 @@ void RenderSceneBuilder::visitNode(Qt3D::Node *node) rootRenderNode->setFrontEndPeer(node); m_nodeStack.push(m_rootNodeHandle); } - qDebug() << Q_FUNC_INFO << "Node " << node->objectName(); + qCDebug(Backend) << Q_FUNC_INFO << "Node " << node->objectName(); Qt3D::NodeVisitor::visitNode(node); } @@ -198,7 +199,7 @@ void RenderSceneBuilder::visitEntity(Qt3D::Entity *entity) { // Create a RenderNode corresponding to the Entity. Most data will // be calculated later by jobs - qDebug() << Q_FUNC_INFO << "Entity " << entity->objectName(); + qCDebug(Backend) << Q_FUNC_INFO << "Entity " << entity->objectName(); // Retrieve or created RenderNode for entity HRenderNode renderNodeHandle = m_renderer->renderNodesManager()->getOrAcquireHandle(entity->uuid()); RenderNode *renderNode = m_renderer->renderNodesManager()->data(renderNodeHandle); @@ -224,7 +225,7 @@ void RenderSceneBuilder::visitEntity(Qt3D::Entity *entity) // Entity has a reference to a framegraph configuration // Build a tree of FrameGraphNodes by reading the tree of FrameGraphBuildingBlocks Render::FrameGraphNode* frameGraphRootNode = buildFrameGraph(fg->activeFrameGraph()); - qDebug() << Q_FUNC_INFO << "SceneGraphRoot" << frameGraphRootNode; + qCDebug(Backend) << Q_FUNC_INFO << "SceneGraphRoot" << frameGraphRootNode; m_renderer->setFrameGraphRoot(frameGraphRootNode); } diff --git a/src/render/backend/renderthread.cpp b/src/render/backend/renderthread.cpp index 36f4b7de2..7079c9aa5 100644 --- a/src/render/backend/renderthread.cpp +++ b/src/render/backend/renderthread.cpp @@ -43,7 +43,7 @@ #include "renderer.h" #include "renderview.h" -#include <QDebug> +#include "renderlogging.h" #include <QEventLoop> #include <QTime> #include <QMutexLocker> @@ -61,11 +61,11 @@ RenderThread::RenderThread( QObject* parent ) void RenderThread::waitForStart( Priority priority ) { - qDebug() << "Starting Render thread and then going to sleep until it is ready for us..."; + qCDebug(Render::Backend) << "Starting Render thread and then going to sleep until it is ready for us..."; m_mutex.lock(); start( priority ); m_waitCondition.wait( &m_mutex ); - qDebug() << "Render thread is now ready & calling thread is now awake again"; + qCDebug(Render::Backend) << "Render thread is now ready & calling thread is now awake again"; } void RenderThread::run() diff --git a/src/render/frontend/effect.cpp b/src/render/frontend/effect.cpp index e029c062d..dc8d6bc60 100644 --- a/src/render/frontend/effect.cpp +++ b/src/render/frontend/effect.cpp @@ -42,7 +42,7 @@ #include "effect.h" #include "technique.h" -#include <QDebug> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -52,7 +52,7 @@ Effect::Effect(Node *parent) : Node(parent) { qRegisterMetaType<Qt3D::Effect*>(); - qDebug() << Q_FUNC_INFO; + qCDebug(Render::Frontend) << Q_FUNC_INFO; } diff --git a/src/render/frontend/material.cpp b/src/render/frontend/material.cpp index c4f8ac013..5b4822c08 100644 --- a/src/render/frontend/material.cpp +++ b/src/render/frontend/material.cpp @@ -44,7 +44,7 @@ #include <qchangearbiter.h> #include <texture.h> -#include <QDebug> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -104,7 +104,7 @@ void Material::onTagValueChanged() QVariant v = t->value(); QmlTexture* qmlTex = v.value<QmlTexture*>(); if (qmlTex) { - qDebug() << "got texture parameter" << t->name(); + qCDebug(Render::Frontend) << "got texture parameter" << t->name(); setTextureParameter(t->name(), qmlTex->texture()); } else { setParameter(t->name(), t->value()); diff --git a/src/render/frontend/scene.cpp b/src/render/frontend/scene.cpp index f115c3ba8..b42820288 100644 --- a/src/render/frontend/scene.cpp +++ b/src/render/frontend/scene.cpp @@ -41,7 +41,7 @@ #include "scene.h" -#include <QDebug> +#include "renderlogging.h" #include <gltfparser.h> #include <assimpparser.h> @@ -117,7 +117,7 @@ void Scene::rebuild() // Maybe move scene parsers to plugins // And handle priority if a format is handled by more than one parser if (GLTFParser::isGLTFPath(m_source)) { - qDebug() << Q_FUNC_INFO << "will load GLTF scene"; + qCDebug(Render::Frontend) << Q_FUNC_INFO << "will load GLTF scene"; GLTFParser parser; parser.setFilePath(m_source); @@ -132,17 +132,17 @@ void Scene::rebuild() } } else if (AssimpParser::isAssimpPath(m_source)) { - qDebug() << Q_FUNC_INFO << "will load Assimp scene"; + qCDebug(Render::Frontend) << Q_FUNC_INFO << "will load Assimp scene"; AssimpParser parser; parser.setFilePath(m_source); m_sceneChild = parser.scene(m_sceneId); if (m_sceneChild) { - qDebug() << Q_FUNC_INFO << "Assimp scene not empty"; + qCDebug(Render::Frontend) << Q_FUNC_INFO << "Assimp scene not empty"; addChild(m_sceneChild); } } else { - qWarning() << Q_FUNC_INFO << "Scene file format not supported by Qt3D"; + qCWarning(Render::Frontend) << Q_FUNC_INFO << "Scene file format not supported by Qt3D"; } } diff --git a/src/render/frontend/shape.cpp b/src/render/frontend/shape.cpp index 3fe4e7966..5d7ba81f5 100644 --- a/src/render/frontend/shape.cpp +++ b/src/render/frontend/shape.cpp @@ -44,7 +44,7 @@ #include <cmath> -#include <QDebug> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -178,7 +178,7 @@ MeshDataPtr createSphereMesh(double radius, int rings, int slices, bool hasTange mesh->setIndexAttr(AttributePtr(new Attribute(indexBuffer, GL_UNSIGNED_SHORT, indices, 0, 0))); mesh->computeBoundsFromAttribute(QStringLiteral("position")); - qDebug() << "computed sphere bounds is:" << mesh->boundingBox(); + qCDebug(Render::Frontend) << "computed sphere bounds is:" << mesh->boundingBox(); return mesh; } diff --git a/src/render/io/abstractsceneparser.cpp b/src/render/io/abstractsceneparser.cpp index 73d10b309..d6bc88595 100644 --- a/src/render/io/abstractsceneparser.cpp +++ b/src/render/io/abstractsceneparser.cpp @@ -40,7 +40,7 @@ ****************************************************************************/ #include "abstractsceneparser.h" - +#include "renderlogging.h" #include <QStringList> QT_BEGIN_NAMESPACE @@ -82,7 +82,7 @@ void AbstractSceneParser::logError(const QString &error) void AbstractSceneParser::logInfo(const QString &info) { - qDebug() << info; + qCDebug(Render::Io) << info; } } // Qt3D namespace diff --git a/src/render/io/assimpparser.cpp b/src/render/io/assimpparser.cpp index f223d232c..eab67f05e 100644 --- a/src/render/io/assimpparser.cpp +++ b/src/render/io/assimpparser.cpp @@ -48,6 +48,7 @@ #include <QFileInfo> #include <QColor> #include <qmath.h> +#include "renderlogging.h" QT_BEGIN_NAMESPACE @@ -207,7 +208,7 @@ void AssimpParser::setFilePath(const QString& path) QFileInfo file(path); m_sceneDir = file.absoluteDir(); if (!file.exists()) { - qWarning() << "File missing " << path; + qCWarning(Render::Io) << "File missing " << path; return ; } readSceneFile(path); @@ -241,7 +242,7 @@ Entity *AssimpParser::scene(QString id) // if id specified, tries to find node if (!id.isEmpty() && !(rootNode = rootNode->FindNode(id.toUtf8().constData()))) { - qDebug() << Q_FUNC_INFO << " Couldn't find requested scene node"; + qCDebug(Render::Io) << Q_FUNC_INFO << " Couldn't find requested scene node"; return Q_NULLPTR; } @@ -334,7 +335,7 @@ void AssimpParser::readSceneFile(const QString &path) cleanup(); aiScene *scene = Q_NULLPTR; if (!(scene = importer.GetOrphanedScene())) { - qWarning() << "Assimp scene import failed"; + qCWarning(Render::Io) << "Assimp scene import failed"; return ; } m_aiScene.reset(scene); @@ -520,7 +521,7 @@ void AssimpParser::loadMesh(uint meshIndex) m_meshes[meshIndex] = meshData; m_namedMeshes[meshName] = meshData; - qDebug() << Q_FUNC_INFO << " Mesh " << meshName << " Vertices " << mesh->mNumVertices << " Faces " << mesh->mNumFaces << " Indices " << indices; + qCDebug(Render::Io) << Q_FUNC_INFO << " Mesh " << meshName << " Vertices " << mesh->mNumVertices << " Faces " << mesh->mNumFaces << " Indices " << indices; } /*! @@ -593,7 +594,7 @@ void AssimpParser::loadCamera(uint cameraIndex) Transform *transform = new Transform(); QMatrix4x4 viewMatrix = AssimpParser::aiMatrix4x4ToQMatrix4x4(cm); // CHECK THAT THIS WORKS - qDebug() << Q_FUNC_INFO << "IF CAMERA NOT BEHAVING CORRECTLY LOOK HERE"; + qCDebug(Render::Io) << Q_FUNC_INFO << "IF CAMERA NOT BEHAVING CORRECTLY LOOK HERE"; viewMatrix.lookAt(QVector3D(0, 0, 0), QVector3D(assimpCamera->mLookAt.x, assimpCamera->mLookAt.y, assimpCamera->mLookAt.z), QVector3D(0, 0, 0)); @@ -618,7 +619,7 @@ void AssimpParser::copyMaterialName(Material *material, aiMaterial *assimpMateri // May not be necessary // Kept for debug purposes at the moment material->setObjectName(QString::fromUtf8(name.data)); - qDebug() << Q_FUNC_INFO << "Assimp Material " << material->objectName(); + qCDebug(Render::Io) << Q_FUNC_INFO << "Assimp Material " << material->objectName(); } } diff --git a/src/render/io/gltfparser.cpp b/src/render/io/gltfparser.cpp index 8b88b55a5..d3dd89cef 100644 --- a/src/render/io/gltfparser.cpp +++ b/src/render/io/gltfparser.cpp @@ -42,6 +42,7 @@ #include "gltfparser.h" #include "texturedata.h" +#include "renderlogging.h" #include <entity.h> #include <mesh.h> @@ -557,7 +558,7 @@ void GLTFParser::processJSONBufferView( QString id, const QJsonObject& json ) quint64 offset = 0; if (json.contains(KEY_BYTE_OFFSET)) { offset = json.value(KEY_BYTE_OFFSET).toInt(); - qDebug() << "bv:" << id << "has offset:" << offset; + qCDebug(Render::Io) << "bv:" << id << "has offset:" << offset; } quint64 len = json.value(KEY_BYTE_LENGTH).toInt(); @@ -609,7 +610,7 @@ void GLTFParser::processJSONMesh( QString id, QJsonObject jsonObj ) QString material = primObj.value(KEY_MATERIAL).toString(); if ( material.isEmpty()) { - qWarning() << "malformed primitive on " << id << ", missing material value" + qCWarning(Render::Io) << "malformed primitive on " << id << ", missing material value" << material; continue; } @@ -621,20 +622,20 @@ void GLTFParser::processJSONMesh( QString id, QJsonObject jsonObj ) Q_FOREACH (QString attrName, attrs.keys()) { QString k = attrs.value(attrName).toString(); if (!m_attributeDict.contains(k)) { - qWarning() << "unknown attribute accessor:" << k << "on mesh" << id; + qCWarning(Render::Io) << "unknown attribute accessor:" << k << "on mesh" << id; continue; } md->addAttribute(attrName, m_attributeDict[k]); - // qDebug() << "DUMP of:" << attrName; + // qCDebug(Render::rIo) << "DUMP of:" << attrName; // m_attributeDict[k]->dump(20); } if ( primObj.contains(KEY_INDICES)) { QString k = primObj.value(KEY_INDICES).toString(); if (!m_attributeDict.contains(k)) { - qWarning() << "unknown index accessor:" << k << "on mesh" << id; + qCWarning(Render::Io) << "unknown index accessor:" << k << "on mesh" << id; } else { md->setIndexAttr(m_attributeDict[k]); // m_attributeDict[k]->dump(100); @@ -661,7 +662,7 @@ void GLTFParser::processJSONProgram( QString id, QJsonObject jsonObj) QString fragName = jsonObj.value(KEY_FRAGMENT_SHADER).toString(), vertName = jsonObj.value(KEY_VERTEX_SHADER).toString(); if (!m_shaderPaths.contains(fragName) || !m_shaderPaths.contains(vertName)) { - qWarning() << Q_FUNC_INFO << "program:" << id << "missing shader:" << + qCWarning(Render::Io) << Q_FUNC_INFO << "program:" << id << "missing shader:" << fragName << vertName; return; } @@ -679,7 +680,7 @@ void GLTFParser::processJSONShader( QString id, QJsonObject jsonObj) QFileInfo info(m_basePath, path); if (!info.exists()) { - qWarning() << "can't find shader" << id << "from path" << path; + qCWarning(Render::Io) << "can't find shader" << id << "from path" << path; return; } @@ -691,13 +692,13 @@ void GLTFParser::processJSONImage( QString id, QJsonObject jsonObj) QString path = jsonObj.value(KEY_PATH).toString(); QFileInfo info(m_basePath, path); if (!info.exists()) { - qWarning() << "can't find image" << id << "from path" << path; + qCWarning(Render::Io)<< "can't find image" << id << "from path" << path; return; } QImage img(info.absoluteFilePath()); if (img.isNull()) { - qWarning() << "failed to load image:" << info.absoluteFilePath(); + qCWarning(Render::Io) << "failed to load image:" << info.absoluteFilePath(); return; } @@ -720,7 +721,7 @@ void GLTFParser::processJSONTexture( QString id, QJsonObject jsonObj) QString samplerId = jsonObj.value(KEY_SAMPLER).toString(); QString source = jsonObj.value(KEY_SOURCE).toString(); if (!m_images.contains(source)) { - qWarning() << "texture" << id << "references missing image" << source; + qCWarning(Render::Io) << "texture" << id << "references missing image" << source; return; } @@ -728,7 +729,7 @@ void GLTFParser::processJSONTexture( QString id, QJsonObject jsonObj) QJsonObject samplersDict(m_json.object().value(KEY_SAMPLERS).toObject()); if (!samplersDict.contains(samplerId)) { - qWarning() << "texture" << id << "references unknown sampler" << samplerId; + qCWarning(Render::Io) << "texture" << id << "references unknown sampler" << samplerId; return; } @@ -847,7 +848,7 @@ Render::DrawState* GLTFParser::buildState(const QByteArray& nm, QJsonValue v) return Render::DepthMask::getOrCreate(v.toInt() ? GL_TRUE : GL_FALSE); } - qWarning() << Q_FUNC_INFO << "unsupported gltf state:" << nm; + qCWarning(Render::Io) << Q_FUNC_INFO << "unsupported gltf state:" << nm; return NULL; } @@ -912,7 +913,7 @@ QVariant GLTFParser::parameterValueFromJSON(Parameter* p, QJsonValue val) } default: - qWarning() << Q_FUNC_INFO << "unhandled type:" << QString::number(p->datatype(), 16); + qCWarning(Render::Io) << Q_FUNC_INFO << "unhandled type:" << QString::number(p->datatype(), 16); } return QVariant(); diff --git a/src/render/io/meshdata.cpp b/src/render/io/meshdata.cpp index 69e0bf854..466d036c8 100644 --- a/src/render/io/meshdata.cpp +++ b/src/render/io/meshdata.cpp @@ -42,7 +42,7 @@ #include "meshdata.h" #include <QSet> -#include <QDebug> +#include "renderlogging.h" #include <QOpenGLVertexArrayObject> QT_BEGIN_NAMESPACE @@ -266,7 +266,7 @@ QVector<QVector3D> Attribute::asVector3D() const stride = sizeof(float) * 4; break; default: - qDebug() << Q_FUNC_INFO << "can't convert" << QString::number(type(), 16) << "to QVector3D"; + qCDebug(Render::Io) << Q_FUNC_INFO << "can't convert" << QString::number(type(), 16) << "to QVector3D"; return QVector<QVector3D>(); } @@ -322,7 +322,7 @@ QVector<QVector2D> Attribute::asVector2D() const stride = sizeof(float) * 4; break; default: - qDebug() << Q_FUNC_INFO << "can't convert" << QString::number(type(), 16) << "to QVector2D"; + qCDebug(Render::Io) << Q_FUNC_INFO << "can't convert" << QString::number(type(), 16) << "to QVector2D"; return QVector<QVector2D>(); } @@ -359,25 +359,25 @@ void Attribute::dump(int count) case GL_UNSIGNED_SHORT: if (!stride) stride = sizeof(quint16); usptr = reinterpret_cast<quint16*>(rawBuffer); - qDebug() << c << ":u16:" << usptr[0]; + qCDebug(Render::Io) << c << ":u16:" << usptr[0]; break; case GL_UNSIGNED_INT: if (!stride) stride = sizeof(quint32); - qDebug() << c << ":u32:" << reinterpret_cast<quint32*>(rawBuffer)[0]; + qCDebug(Render::Io) << c << ":u32:" << reinterpret_cast<quint32*>(rawBuffer)[0]; break; case GL_FLOAT_VEC2: if (!stride) stride = sizeof(float) * 2; fptr = reinterpret_cast<float*>(rawBuffer); - qDebug() << c << ":vec2:"<< fptr[0] << fptr[0]; + qCDebug(Render::Io) << c << ":vec2:"<< fptr[0] << fptr[0]; break; case GL_FLOAT_VEC3: if (!stride) stride = sizeof(float) * 3; fptr = reinterpret_cast<float*>(rawBuffer); - qDebug() << c << ":vec3:" << fptr[0] << fptr[0] << fptr[2]; + qCDebug(Render::Io) << c << ":vec3:" << fptr[0] << fptr[0] << fptr[2]; break; - default: qDebug() << Q_FUNC_INFO << "unspported type:" << QString::number(type(), 16); + default: qCDebug(Render::Io) << Q_FUNC_INFO << "unspported type:" << QString::number(type(), 16); } @@ -412,10 +412,10 @@ QOpenGLBuffer Buffer::createGL() const QOpenGLBuffer b(m_type); b.setUsagePattern(m_usage); if (!b.create()) - qWarning() << Q_FUNC_INFO << "buffer creation failed"; + qCWarning(Render::Io) << Q_FUNC_INFO << "buffer creation failed"; if (!b.bind()) - qWarning() << Q_FUNC_INFO << "buffer binding failed"; + qCWarning(Render::Io) << Q_FUNC_INFO << "buffer binding failed"; b.allocate(m_clientSideBytes.count()); b.release(); @@ -425,12 +425,12 @@ QOpenGLBuffer Buffer::createGL() const void Buffer::upload(QOpenGLBuffer b) { if (!b.bind()) - qWarning() << Q_FUNC_INFO << "buffer bind failed"; + qCWarning(Render::Io) << Q_FUNC_INFO << "buffer bind failed"; b.allocate(NULL, m_clientSideBytes.count()); // orphan the buffer b.allocate(m_clientSideBytes.data(), m_clientSideBytes.count()); b.release(); - qDebug() << "uploaded buffer size=" << m_clientSideBytes.count(); + qCDebug(Render::Io) << "uploaded buffer size=" << m_clientSideBytes.count(); } } // of namespace diff --git a/src/render/io/objloader.cpp b/src/render/io/objloader.cpp index 206871dc7..e87a1b4f6 100644 --- a/src/render/io/objloader.cpp +++ b/src/render/io/objloader.cpp @@ -44,7 +44,7 @@ #include "mesh.h" #include "axisalignedboundingbox.h" -#include <QDebug> +#include "renderlogging.h" #include <QFile> #include <QOpenGLBuffer> #include <QOpenGLShaderProgram> @@ -74,7 +74,7 @@ bool ObjLoader::load( const QString& fileName ) QFile file( fileName ); if ( !file.open( ::QIODevice::ReadOnly | ::QIODevice::Text ) ) { - qDebug() << "Could not open file" << fileName << "for reading"; + qCDebug(Render::Io) << "Could not open file" << fileName << "for reading"; return false; } @@ -90,7 +90,7 @@ static void addFaceVertex(const FaceIndices &faceIndices, if (!faceIndexMap.contains(faceIndices)) faceIndexMap.insert(faceIndices, faceIndexMap.size()); } else { - qWarning( "Missing position index" ); + qCWarning(Render::Io) << "Missing position index"; } } @@ -98,7 +98,7 @@ bool ObjLoader::load(::QIODevice *ioDev) { Q_CHECK_PTR(ioDev); if (!ioDev->isOpen()) { - qWarning() << "iodevice" << ioDev << "not open for reading"; + qCWarning(Render::Io) << "iodevice" << ioDev << "not open for reading"; return false; } @@ -157,7 +157,7 @@ bool ObjLoader::load(::QIODevice *ioDev) faceIndices.positionIndex = indices.at(0).toInt() - 1; break; default: - qWarning() << "Unsupported number of indices in face element"; + qCWarning(Render::Io) << "Unsupported number of indices in face element"; } face.append(faceIndices); @@ -198,13 +198,13 @@ bool ObjLoader::load(::QIODevice *ioDev) center(m_points); //#if 0 - qDebug() << "Loaded mesh:"; - qDebug() << " " << m_points.size() << "points"; - qDebug() << " " << faceCount << "faces"; - qDebug() << " " << m_indices.size() / 3 << "triangles."; - qDebug() << " " << m_normals.size() << "normals"; - qDebug() << " " << m_tangents.size() << "tangents "; - qDebug() << " " << m_texCoords.size() << "texture coordinates."; + qCDebug(Render::Io) << "Loaded mesh:"; + qCDebug(Render::Io) << " " << m_points.size() << "points"; + qCDebug(Render::Io) << " " << faceCount << "faces"; + qCDebug(Render::Io) << " " << m_indices.size() / 3 << "triangles."; + qCDebug(Render::Io) << " " << m_normals.size() << "normals"; + qCDebug(Render::Io) << " " << m_tangents.size() << "tangents "; + qCDebug(Render::Io) << " " << m_texCoords.size() << "texture coordinates."; //#endif return true; @@ -293,7 +293,7 @@ MeshData *ObjLoader::mesh() const mesh->setIndexAttr(AttributePtr(new Attribute(indexBuffer, ty, m_indices.size(), 0, 0))); mesh->computeBoundsFromAttribute(QStringLiteral("position")); - qDebug() << "computed bounds is:" << mesh->boundingBox(); + qCDebug(Render::Io) << "computed bounds is:" << mesh->boundingBox(); return mesh; } diff --git a/src/render/render.pro b/src/render/render.pro index 939c0c51b..ff1d30266 100644 --- a/src/render/render.pro +++ b/src/render/render.pro @@ -28,9 +28,13 @@ gcov { } HEADERS += $$PRIVATE_HEADERS \ - qt3drenderer_global.h + qt3drenderer_global.h \ + renderlogging.h !contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL # otherwise mingw headers do not declare common functions like ::strcasecmp win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x + +SOURCES += \ + renderlogging.cpp diff --git a/src/render/renderlogging.cpp b/src/render/renderlogging.cpp new file mode 100644 index 000000000..889a14e18 --- /dev/null +++ b/src/render/renderlogging.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "renderlogging.h" + +QT_BEGIN_NAMESPACE + +namespace Qt3D { + +namespace Render { + +Q_LOGGING_CATEGORY(Backend, "Qt3D.Render.Backend") +Q_LOGGING_CATEGORY(Frontend, "Qt3D.Render.Frontend") +Q_LOGGING_CATEGORY(Io, "Qt3D.Render.IO") +Q_LOGGING_CATEGORY(Jobs, "Qt3D.Render.Jobs") +Q_LOGGING_CATEGORY(FrameGraph, "Qt3D.Render.FrameGraph") + +} // Render + +} // Qt3D + +QT_END_NAMESPACE diff --git a/src/render/renderlogging.h b/src/render/renderlogging.h new file mode 100644 index 000000000..7be6e9c9d --- /dev/null +++ b/src/render/renderlogging.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QT3D_RENDER_RENDERLOGGING_H +#define QT3D_RENDER_RENDERLOGGING_H + +#include <QLoggingCategory> + +QT_BEGIN_NAMESPACE + +namespace Qt3D { + +namespace Render { + +Q_DECLARE_LOGGING_CATEGORY(Backend) +Q_DECLARE_LOGGING_CATEGORY(Frontend) +Q_DECLARE_LOGGING_CATEGORY(Io) +Q_DECLARE_LOGGING_CATEGORY(Jobs) +Q_DECLARE_LOGGING_CATEGORY(Framegraph) + +} // Render + +} // Qt3D + +QT_END_NAMESPACE + +#endif // QT3D_RENDER_RENDERLOGGING_H |