History

Merge pull request #5530 from ZappoMan/RenderableModelEntityItemOptimization

optimizations to RenderableModelEntityItem::render()

Brad Davis committed 11 years ago

Commit 64fcd2d2 parents b1e6953 cec0f8e7 files · +50 −27Browse files

Showing the changes to libraries/render-utils/src/Model.cpp (1 of 7 files). Show all

Unified · Split

libraries/render-utils/src/Model.cpp+7−8
@@ -54,6 +54,7 @@ static int modelPointerTypeId = qRegisterMetaType<QPointer<Model> >(); · 53 unmodified lines
54static int weakNetworkGeometryPointerTypeId = qRegisterMetaType<QWeakPointer<NetworkGeometry> >();54static int weakNetworkGeometryPointerTypeId = qRegisterMetaType<QWeakPointer<NetworkGeometry> >();
55static int vec3VectorTypeId = qRegisterMetaType<QVector<glm::vec3> >();55static int vec3VectorTypeId = qRegisterMetaType<QVector<glm::vec3> >();
56float Model::FAKE_DIMENSION_PLACEHOLDER = -1.0f;56float Model::FAKE_DIMENSION_PLACEHOLDER = -1.0f;
57#define HTTP_INVALID_COM "http://invalid.com"
57 58
58Model::Model(RigPointer rig, QObject* parent) :59Model::Model(RigPointer rig, QObject* parent) :
59 QObject(parent),60 QObject(parent),
@@ -67,7 +68,8 @@ Model::Model(RigPointer rig, QObject* parent) : · 7 unmodified lines
67 _cauterizeBones(false),68 _cauterizeBones(false),
68 _lodDistance(0.0f),69 _lodDistance(0.0f),
69 _pupilDilation(0.0f),70 _pupilDilation(0.0f),
70 _url("http://invalid.com"),71 _url(HTTP_INVALID_COM),
72 _urlAsString(HTTP_INVALID_COM),
71 _isVisible(true),73 _isVisible(true),
72 _blendNumber(0),74 _blendNumber(0),
73 _appliedBlendNumber(0),75 _appliedBlendNumber(0),
@@ -181,17 +183,12 @@ void Model::RenderPipelineLib::initLocations(gpu::ShaderPointer& program, Model: · 107 unmodified lines
181 locations.texcoordMatrices = program->getUniforms().findLocation("texcoordMatrices");183 locations.texcoordMatrices = program->getUniforms().findLocation("texcoordMatrices");
182 locations.emissiveParams = program->getUniforms().findLocation("emissiveParams");184 locations.emissiveParams = program->getUniforms().findLocation("emissiveParams");
183 locations.glowIntensity = program->getUniforms().findLocation("glowIntensity");185 locations.glowIntensity = program->getUniforms().findLocation("glowIntensity");
184
185 locations.normalFittingMapUnit = program->getTextures().findLocation("normalFittingMap");186 locations.normalFittingMapUnit = program->getTextures().findLocation("normalFittingMap");
186
187 locations.specularTextureUnit = program->getTextures().findLocation("specularMap");187 locations.specularTextureUnit = program->getTextures().findLocation("specularMap");
188 locations.emissiveTextureUnit = program->getTextures().findLocation("emissiveMap");188 locations.emissiveTextureUnit = program->getTextures().findLocation("emissiveMap");
189
190 locations.materialBufferUnit = program->getBuffers().findLocation("materialBuffer");189 locations.materialBufferUnit = program->getBuffers().findLocation("materialBuffer");
191 locations.lightBufferUnit = program->getBuffers().findLocation("lightBuffer");190 locations.lightBufferUnit = program->getBuffers().findLocation("lightBuffer");
192
193 locations.clusterMatrices = program->getUniforms().findLocation("clusterMatrices");191 locations.clusterMatrices = program->getUniforms().findLocation("clusterMatrices");
194
195 locations.clusterIndices = program->getInputs().findLocation("inSkinClusterIndex");192 locations.clusterIndices = program->getInputs().findLocation("inSkinClusterIndex");
196 locations.clusterWeights = program->getInputs().findLocation("inSkinClusterWeight");193 locations.clusterWeights = program->getInputs().findLocation("inSkinClusterWeight");
197}194}
@@ -1083,6 +1080,7 @@ void Model::setURL(const QUrl& url, const QUrl& fallback, bool retainCurrent, bo · 885 unmodified lines
1083 invalidCalculatedMeshBoxes();1080 invalidCalculatedMeshBoxes();
1084 1081
1085 _url = url;1082 _url = url;
1083 _urlAsString = _url.toString();
1086 1084
1087 onInvalidate();1085 onInvalidate();
1088 1086
@@ -1866,8 +1864,9 @@ void Model::pickPrograms(gpu::Batch& batch, RenderMode mode, bool translucent, f · 777 unmodified lines
1866 batch._glUniform1f(locations->glowIntensity, DEFAULT_GLOW_INTENSITY);1864 batch._glUniform1f(locations->glowIntensity, DEFAULT_GLOW_INTENSITY);
1867 }1865 }
1868 1866
1869 if ((locations->normalFittingMapUnit > -1)) {1867 if ((locations->normalFittingMapUnit > -1)) {
1870 batch.setResourceTexture(locations->normalFittingMapUnit, DependencyManager::get<TextureCache>()->getNormalFittingTexture());1868 batch.setResourceTexture(locations->normalFittingMapUnit,
1869 DependencyManager::get<TextureCache>()->getNormalFittingTexture());
1871 }1870 }
1872}1871}
1873 1872