summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-04-22 11:24:48 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-22 13:27:52 +0200
commit1fc89dedb83fd6f906f149538c1756755c514b69 (patch)
treee7f4d73559fcc43730d1ffe8e9d3286c1eb5a467 /src/render
parent0b081506b61239f54c994fe5932acca26f94f12a (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/render')
-rw-r--r--src/render/backend/framegraph/cameraselectornode.cpp12
-rw-r--r--src/render/backend/framegraph/cameraselectornode.h3
-rw-r--r--src/render/backend/framegraph/framegraphnode.cpp12
-rw-r--r--src/render/backend/framegraph/framegraphnode.h3
-rw-r--r--src/render/backend/framegraph/renderpassfilternode.cpp12
-rw-r--r--src/render/backend/framegraph/renderpassfilternode.h3
-rw-r--r--src/render/backend/framegraph/rendertargetselectornode.cpp11
-rw-r--r--src/render/backend/framegraph/rendertargetselectornode.h3
-rw-r--r--src/render/backend/framegraph/techniquefilternode.cpp11
-rw-r--r--src/render/backend/framegraph/techniquefilternode.h3
-rw-r--r--src/render/backend/framegraph/viewportnode.cpp10
-rw-r--r--src/render/backend/framegraph/viewportnode.h3
-rw-r--r--src/render/backend/jobs/loadmeshdatajob.cpp14
-rw-r--r--src/render/backend/jobs/renderviewjob.cpp4
-rw-r--r--src/render/backend/jobs/updateboundingvolumejob.cpp6
-rw-r--r--src/render/backend/jobs/updateworldtransformjob.cpp6
-rw-r--r--src/render/backend/qgraphicscontext.cpp36
-rw-r--r--src/render/backend/rendercommand.h4
-rw-r--r--src/render/backend/renderer.cpp32
-rw-r--r--src/render/backend/rendernode.cpp4
-rw-r--r--src/render/backend/renderscenebuilder.cpp19
-rw-r--r--src/render/backend/renderthread.cpp6
-rw-r--r--src/render/frontend/effect.cpp4
-rw-r--r--src/render/frontend/material.cpp4
-rw-r--r--src/render/frontend/scene.cpp10
-rw-r--r--src/render/frontend/shape.cpp4
-rw-r--r--src/render/io/abstractsceneparser.cpp4
-rw-r--r--src/render/io/assimpparser.cpp13
-rw-r--r--src/render/io/gltfparser.cpp27
-rw-r--r--src/render/io/meshdata.cpp24
-rw-r--r--src/render/io/objloader.cpp26
-rw-r--r--src/render/render.pro6
-rw-r--r--src/render/renderlogging.cpp60
-rw-r--r--src/render/renderlogging.h65
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