From 21aa3b62bc0de6fe962bf697922d8f02ade62d44 Mon Sep 17 00:00:00 2001 From: Eric Levin Date: Fri, 5 Jun 2015 12:04:32 -0700 Subject: [PATCH 1/6] bumped max line points to 80 --- examples/paint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/paint.js b/examples/paint.js index 6e4438d2ea..8bba4e2571 100644 --- a/examples/paint.js +++ b/examples/paint.js @@ -12,7 +12,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // Script.include('lineRider.js') -var MAX_POINTS_PER_LINE = 30; +var MAX_POINTS_PER_LINE = 80; var colorPalette = [{ From 983ae5b2f02e3f1509bbd39a490b3e48d8c95b4c Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 8 Jun 2015 21:19:37 -0700 Subject: [PATCH 2/6] quiet compiler, fix some whitespace --- interface/src/Application.cpp | 4 +-- interface/src/devices/MotionTracker.h | 11 ++++++++ .../src/RenderableModelEntityItem.cpp | 2 +- .../src/RenderablePolyVoxEntityItem.cpp | 28 ++++++++----------- libraries/networking/src/LimitedNodeList.cpp | 3 -- libraries/render-utils/src/Model.cpp | 10 +++---- libraries/render/src/render/DrawTask.cpp | 2 +- 7 files changed, 32 insertions(+), 28 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index f0d9affe3f..188ae6eaf9 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -336,7 +336,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : _enableProcessOctreeThread(true), _octreeProcessor(), _nodeBoundsDisplay(this), - _applicationOverlay(), _runningScriptsWidget(NULL), _runningScriptsWidgetWasVisible(false), _trayIcon(new QSystemTrayIcon(_window)), @@ -347,7 +346,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : _notifiedPacketVersionMismatchThisDomain(false), _domainConnectionRefusals(QList()), _maxOctreePPS(maxOctreePacketsPerSecond.get()), - _lastFaceTrackerUpdate(0) + _lastFaceTrackerUpdate(0), + _applicationOverlay() { setInstance(this); #ifdef Q_OS_WIN diff --git a/interface/src/devices/MotionTracker.h b/interface/src/devices/MotionTracker.h index 5dd3f1ca3f..edfd3ae991 100644 --- a/interface/src/devices/MotionTracker.h +++ b/interface/src/devices/MotionTracker.h @@ -14,7 +14,18 @@ #include "DeviceTracker.h" +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-compare" +#endif + #include + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + + #include #include diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index 74aaf615c0..e0bc493a5c 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -232,7 +232,7 @@ void RenderableModelEntityItem::render(RenderArgs* args) { remapTextures(); { - float alpha = getLocalRenderAlpha(); + // float alpha = getLocalRenderAlpha(); if (!_model || _needsModelReload) { // TODO: this getModel() appears to be about 3% of model render time. We should optimize diff --git a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp index 41c2799d97..bb5932d70c 100644 --- a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp @@ -213,7 +213,7 @@ uint8_t RenderablePolyVoxEntityItem::getVoxel(int x, int y, int z) { // if _voxelSurfaceStyle is SURFACE_EDGED_CUBIC, we maintain an extra layer of // voxels all around the requested voxel space. Having the empty voxels around // the edges changes how the surface extractor behaves. - + if (_voxelSurfaceStyle == SURFACE_EDGED_CUBIC) { return _volData->getVoxelAt(x + 1, y + 1, z + 1); } @@ -239,7 +239,7 @@ void RenderablePolyVoxEntityItem::updateOnCount(int x, int y, int z, uint8_t toV if (!inUserBounds(_volData, _voxelSurfaceStyle, x, y, z)) { return; } - + uint8_t uVoxelValue = getVoxel(x, y, z); if (toValue != 0) { if (uVoxelValue == 0) { @@ -347,8 +347,8 @@ void RenderablePolyVoxEntityItem::getModel() { sizeof(PolyVox::PositionMaterialNormal), gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::RAW))); - - + + // auto normalAttrib = mesh->getAttributeBuffer(gpu::Stream::NORMAL); // for (auto normal = normalAttrib.begin(); normal != normalAttrib.end(); normal++) { // (*normal) = -(*normal); @@ -363,7 +363,7 @@ void RenderablePolyVoxEntityItem::getModel() { // gpu::Element(gpu::VEC2, gpu::FLOAT, gpu::RAW))); - + #ifdef WANT_DEBUG qDebug() << "---- vecIndices.size() =" << vecIndices.size(); qDebug() << "---- vecVertices.size() =" << vecVertices.size(); @@ -379,7 +379,7 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) { if (_needsModelReload) { getModel(); } - + Transform transform; transform.setTranslation(getPosition() - getRegistrationPoint() * getDimensions()); transform.setRotation(getRotation()); @@ -398,7 +398,7 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) { mesh->getVertexBuffer()._stride); batch.setIndexBuffer(gpu::UINT32, mesh->getIndexBuffer()._buffer, 0); batch.drawIndexed(gpu::TRIANGLES, mesh->getNumIndices(), 0); - + RenderableDebugableEntityItem::render(this, args); } @@ -448,14 +448,13 @@ bool RenderablePolyVoxEntityItem::findDetailedRayIntersection(const glm::vec3& o glm::vec3 normDirection = glm::normalize(direction); // the PolyVox ray intersection code requires a near and far point. - glm::vec3 scale = getDimensions() / _voxelVolumeSize; // meters / voxel-units - // set ray cast length to long enough to cover all of the voxel space + // set ray cast length to long enough to cover all of the voxel space float distanceToEntity = glm::distance(origin, getPosition()); float largestDimension = glm::max(getDimensions().x, getDimensions().y, getDimensions().z) * 2.0f; glm::vec3 farPoint = origin + normDirection * (distanceToEntity + largestDimension); glm::vec4 originInVoxel = wtvMatrix * glm::vec4(origin, 1.0f); glm::vec4 farInVoxel = wtvMatrix * glm::vec4(farPoint, 1.0f); - + PolyVox::Vector3DFloat startPoint(originInVoxel.x, originInVoxel.y, originInVoxel.z); PolyVox::Vector3DFloat endPoint(farInVoxel.x, farInVoxel.y, farInVoxel.z); @@ -479,7 +478,7 @@ bool RenderablePolyVoxEntityItem::findDetailedRayIntersection(const glm::vec3& o } result -= glm::vec4(0.5f, 0.5f, 0.5f, 0.0f); - + glm::vec4 intersectedWorldPosition = voxelToWorldMatrix() * result; distance = glm::distance(glm::vec3(intersectedWorldPosition), origin); @@ -556,9 +555,9 @@ void RenderablePolyVoxEntityItem::decompressVolumeData() { << voxelXSize << voxelYSize << voxelZSize; return; } - + int rawSize = voxelXSize * voxelYSize * voxelZSize; - + QByteArray compressedData; reader >> compressedData; QByteArray uncompressedData = qUncompress(compressedData); @@ -635,9 +634,6 @@ void RenderablePolyVoxEntityItem::computeShapeInfo(ShapeInfo& info) { float offL = -0.5f; float offH = 0.5f; - // float offL = 0.0f; - // float offH = 1.0f; - glm::vec3 p000 = glm::vec3(wToM * glm::vec4(x + offL, y + offL, z + offL, 1.0f)); glm::vec3 p001 = glm::vec3(wToM * glm::vec4(x + offL, y + offL, z + offH, 1.0f)); glm::vec3 p010 = glm::vec3(wToM * glm::vec4(x + offL, y + offH, z + offL, 1.0f)); diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp index aa0ab262d7..123e140913 100644 --- a/libraries/networking/src/LimitedNodeList.cpp +++ b/libraries/networking/src/LimitedNodeList.cpp @@ -605,9 +605,6 @@ const int NUM_BYTES_STUN_HEADER = 20; void LimitedNodeList::sendSTUNRequest() { - static quint64 lastTimeStamp = usecTimestampNow(); - lastTimeStamp = usecTimestampNow(); - const int NUM_INITIAL_STUN_REQUESTS_BEFORE_FAIL = 10; if (!_hasCompletedInitialSTUN) { diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index aadc4bffbe..59f221d9a3 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -78,8 +78,8 @@ Model::Model(QObject* parent) : _showTrueJointTransforms(true), _lodDistance(0.0f), _pupilDilation(0.0f), - _isVisible(true), _url("http://invalid.com"), + _isVisible(true), _blendNumber(0), _appliedBlendNumber(0), _calculatedMeshPartBoxesValid(false), @@ -2106,16 +2106,16 @@ void Model::renderPart(RenderArgs* args, int meshIndex, int partIndex, bool tran const FBXMesh& mesh = geometry.meshes.at(meshIndex); const MeshState& state = _meshStates.at(meshIndex); - bool translucentMesh = translucent; // networkMesh.getTranslucentPartCount(mesh) == networkMesh.parts.size(); + // bool translucentMesh = translucent; // networkMesh.getTranslucentPartCount(mesh) == networkMesh.parts.size(); bool hasTangents = !mesh.tangents.isEmpty(); bool hasSpecular = mesh.hasSpecularTexture(); bool hasLightmap = mesh.hasEmissiveTexture(); bool isSkinned = state.clusterMatrices.size() > 1; bool wireframe = isWireframe(); - if (wireframe) { - translucentMesh = hasTangents = hasSpecular = hasLightmap = isSkinned = false; - } + // if (wireframe) { + // translucentMesh = hasTangents = hasSpecular = hasLightmap = isSkinned = false; + // } Locations* locations = nullptr; pickPrograms(batch, mode, translucent, alphaThreshold, hasLightmap, hasTangents, hasSpecular, isSkinned, wireframe, diff --git a/libraries/render/src/render/DrawTask.cpp b/libraries/render/src/render/DrawTask.cpp index e58b92aafa..41e36de37b 100755 --- a/libraries/render/src/render/DrawTask.cpp +++ b/libraries/render/src/render/DrawTask.cpp @@ -174,7 +174,7 @@ void render::renderItems(const SceneContextPointer& sceneContext, const RenderCo auto& scene = sceneContext->_scene; RenderArgs* args = renderContext->args; // render - if ((maxDrawnItems < 0) || (maxDrawnItems > inItems.size())) { + if ((maxDrawnItems < 0) || (maxDrawnItems > (int) inItems.size())) { for (auto itemDetails : inItems) { auto item = scene->getItem(itemDetails.id); item.render(args); From fb7a0e72196ffc5dab13b55eedc2306eccd3d87e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 8 Jun 2015 22:41:59 -0700 Subject: [PATCH 3/6] back out previous change, fix error where translucent is used instead of translucentMesh --- libraries/render-utils/src/Model.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 59f221d9a3..42ffdf9f0a 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -2106,20 +2106,20 @@ void Model::renderPart(RenderArgs* args, int meshIndex, int partIndex, bool tran const FBXMesh& mesh = geometry.meshes.at(meshIndex); const MeshState& state = _meshStates.at(meshIndex); - // bool translucentMesh = translucent; // networkMesh.getTranslucentPartCount(mesh) == networkMesh.parts.size(); + bool translucentMesh = translucent; // networkMesh.getTranslucentPartCount(mesh) == networkMesh.parts.size(); bool hasTangents = !mesh.tangents.isEmpty(); bool hasSpecular = mesh.hasSpecularTexture(); bool hasLightmap = mesh.hasEmissiveTexture(); bool isSkinned = state.clusterMatrices.size() > 1; bool wireframe = isWireframe(); - // if (wireframe) { - // translucentMesh = hasTangents = hasSpecular = hasLightmap = isSkinned = false; - // } + if (wireframe) { + translucentMesh = hasTangents = hasSpecular = hasLightmap = isSkinned = false; + } Locations* locations = nullptr; - pickPrograms(batch, mode, translucent, alphaThreshold, hasLightmap, hasTangents, hasSpecular, isSkinned, wireframe, - args, locations); + pickPrograms(batch, mode, translucentMesh, alphaThreshold, hasLightmap, hasTangents, hasSpecular, isSkinned, wireframe, + args, locations); updateVisibleJointStates(); From 303026d86bb4c30c78aec9099b4a4def634f0f07 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 9 Jun 2015 15:26:41 +0200 Subject: [PATCH 4/6] Reduce qDebug calls --- libraries/entities/src/LineEntityItem.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/entities/src/LineEntityItem.cpp b/libraries/entities/src/LineEntityItem.cpp index bb1e3be539..e7e1c90b41 100644 --- a/libraries/entities/src/LineEntityItem.cpp +++ b/libraries/entities/src/LineEntityItem.cpp @@ -86,6 +86,7 @@ bool LineEntityItem::setProperties(const EntityItemProperties& properties) { void LineEntityItem::setLinePoints(const QVector& points) { QVector sanitizedPoints; + int invalidPoints = 0; for (int i = 0; i < points.size(); i++) { glm::vec3 point = points.at(i); // Make sure all of our points are valid numbers. @@ -93,9 +94,12 @@ void LineEntityItem::setLinePoints(const QVector& points) { if (point.x > 0 && point.y > 0 && point.z > 0){ sanitizedPoints << point; } else { - qDebug() << "INVALID POINT"; + ++invalidPoints; } } + if (invalidPoints > 0) { + qDebug() << "Line with" << invalidPoints << "INVALID POINTS"; + } _points = sanitizedPoints; _pointsChanged = true; } From 90c9a82aeb889423c65de73d42025c6f6b30b31a Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 9 Jun 2015 15:27:08 +0200 Subject: [PATCH 5/6] Remove unnecesary debug --- libraries/render-utils/src/Model.cpp | 3 --- libraries/render-utils/src/Model.h | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index aadc4bffbe..c0be64cf61 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -913,8 +913,6 @@ bool Model::addToScene(std::shared_ptr scene, render::PendingChan bool somethingAdded = false; - qDebug() << "Model::addToScene : " << this->getURL().toString(); - // allow the attachments to add to scene foreach (Model* attachment, _attachments) { bool attachementSomethingAdded = attachment->addToScene(scene, pendingChanges); @@ -954,7 +952,6 @@ void Model::removeFromScene(std::shared_ptr scene, render::Pendin } _renderItems.clear(); _readyWhenAdded = false; - qDebug() << "Model::removeFromScene : " << this->getURL().toString(); } bool Model::render(RenderArgs* renderArgs, float alpha) { diff --git a/libraries/render-utils/src/Model.h b/libraries/render-utils/src/Model.h index 0367ad8d32..6f751a5f8d 100644 --- a/libraries/render-utils/src/Model.h +++ b/libraries/render-utils/src/Model.h @@ -312,8 +312,7 @@ protected: float getLimbLength(int jointIndex) const; /// Allow sub classes to force invalidating the bboxes - void invalidCalculatedMeshBoxes() { - qDebug() << "invalidCalculatedMeshBoxes()"; + void invalidCalculatedMeshBoxes() { _calculatedMeshBoxesValid = false; _calculatedMeshPartBoxesValid = false; _calculatedMeshTrianglesValid = false; From bf56ee49a63807e7dd1193830ff05336b3972899 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 9 Jun 2015 16:37:48 +0200 Subject: [PATCH 6/6] Print new URL only when it actually changes --- libraries/entities-renderer/src/RenderableWebEntityItem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp index 3d284baab6..94f88b8390 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp @@ -191,8 +191,8 @@ void RenderableWebEntityItem::render(RenderArgs* args) { } void RenderableWebEntityItem::setSourceUrl(const QString& value) { - qDebug() << "Setting web entity source URL to " << value; if (_sourceUrl != value) { + qDebug() << "Setting web entity source URL to " << value; _sourceUrl = value; if (_webSurface) { AbstractViewStateInterface::instance()->postLambdaEvent([this] {