Merge branch 'master' of https://github.com/highfidelity/hifi into black

This commit is contained in:
samcake 2017-08-15 09:55:08 -07:00
commit fe0b597aa1
4 changed files with 23 additions and 19 deletions

View file

@ -315,21 +315,21 @@ void setupPreferences() {
static const QString RENDER("Graphics"); static const QString RENDER("Graphics");
auto renderConfig = qApp->getRenderEngine()->getConfiguration(); auto renderConfig = qApp->getRenderEngine()->getConfiguration();
if (renderConfig) { if (renderConfig) {
auto ambientOcclusionConfig = renderConfig->getConfig<AmbientOcclusionEffect>(); auto mainViewAmbientOcclusionConfig = renderConfig->getConfig<AmbientOcclusionEffect>("RenderMainView.AmbientOcclusion");
if (ambientOcclusionConfig) { if (mainViewAmbientOcclusionConfig) {
auto getter = [ambientOcclusionConfig]()->QString { return ambientOcclusionConfig->getPreset(); }; auto getter = [mainViewAmbientOcclusionConfig]()->QString { return mainViewAmbientOcclusionConfig->getPreset(); };
auto setter = [ambientOcclusionConfig](QString preset) { ambientOcclusionConfig->setPreset(preset); }; auto setter = [mainViewAmbientOcclusionConfig](QString preset) { mainViewAmbientOcclusionConfig->setPreset(preset); };
auto preference = new ComboBoxPreference(RENDER, "Ambient occlusion", getter, setter); auto preference = new ComboBoxPreference(RENDER, "Ambient occlusion", getter, setter);
preference->setItems(ambientOcclusionConfig->getPresetList()); preference->setItems(mainViewAmbientOcclusionConfig->getPresetList());
preferences->addPreference(preference); preferences->addPreference(preference);
} }
auto shadowConfig = renderConfig->getConfig<RenderShadowTask>(); auto mainViewShadowConfig = renderConfig->getConfig<RenderShadowTask>("RenderMainView.RenderShadowTask");
if (shadowConfig) { if (mainViewShadowConfig) {
auto getter = [shadowConfig]()->QString { return shadowConfig->getPreset(); }; auto getter = [mainViewShadowConfig]()->QString { return mainViewShadowConfig->getPreset(); };
auto setter = [shadowConfig](QString preset) { shadowConfig->setPreset(preset); }; auto setter = [mainViewShadowConfig](QString preset) { mainViewShadowConfig->setPreset(preset); };
auto preference = new ComboBoxPreference(RENDER, "Shadows", getter, setter); auto preference = new ComboBoxPreference(RENDER, "Shadows", getter, setter);
preference->setItems(shadowConfig->getPresetList()); preference->setItems(mainViewShadowConfig->getPresetList());
preferences->addPreference(preference); preferences->addPreference(preference);
} }
} }

View file

@ -32,6 +32,8 @@ Line3DOverlay::Line3DOverlay(const Line3DOverlay* line3DOverlay) :
_length = line3DOverlay->getLength(); _length = line3DOverlay->getLength();
_endParentID = line3DOverlay->getEndParentID(); _endParentID = line3DOverlay->getEndParentID();
_endParentJointIndex = line3DOverlay->getEndJointIndex(); _endParentJointIndex = line3DOverlay->getEndJointIndex();
_glow = line3DOverlay->getGlow();
_glowWidth = line3DOverlay->getGlowWidth();
} }
Line3DOverlay::~Line3DOverlay() { Line3DOverlay::~Line3DOverlay() {
@ -138,11 +140,9 @@ void Line3DOverlay::render(RenderArgs* args) {
// TODO: add support for color to renderDashedLine() // TODO: add support for color to renderDashedLine()
geometryCache->bindSimpleProgram(*batch, false, false, false, true, true); geometryCache->bindSimpleProgram(*batch, false, false, false, true, true);
geometryCache->renderDashedLine(*batch, start, end, colorv4, _geometryCacheID); geometryCache->renderDashedLine(*batch, start, end, colorv4, _geometryCacheID);
} else if (_glow > 0.0f) {
geometryCache->renderGlowLine(*batch, start, end, colorv4, _glow, _glowWidth, _geometryCacheID);
} else { } else {
geometryCache->bindSimpleProgram(*batch, false, false, false, true, true); // renderGlowLine handles both glow = 0 and glow > 0 cases
geometryCache->renderLine(*batch, start, end, colorv4, _geometryCacheID); geometryCache->renderGlowLine(*batch, start, end, colorv4, _glow, _glowWidth, _geometryCacheID);
} }
} }
} }
@ -228,9 +228,9 @@ void Line3DOverlay::setProperties(const QVariantMap& originalProperties) {
} }
} }
auto glowWidth = properties["glow"]; auto glowWidth = properties["glowWidth"];
if (glowWidth.isValid()) { if (glowWidth.isValid()) {
setGlow(glowWidth.toFloat()); setGlowWidth(glowWidth.toFloat());
} }
} }

View file

@ -1743,8 +1743,12 @@ void GeometryCache::renderGlowLine(gpu::Batch& batch, const glm::vec3& p1, const
glowIntensity = 0.0f; glowIntensity = 0.0f;
#endif #endif
if (glowIntensity <= 0) { if (glowIntensity <= 0.0f) {
bindSimpleProgram(batch, false, false, false, true, false); if (color.a >= 1.0f) {
bindSimpleProgram(batch, false, false, false, true, true);
} else {
bindSimpleProgram(batch, false, true, false, true, true);
}
renderLine(batch, p1, p2, color, id); renderLine(batch, p1, p2, color, id);
return; return;
} }

View file

@ -373,7 +373,7 @@ void DrawOverlay3D::run(const RenderContextPointer& renderContext, const Inputs&
if (_opaquePass) { if (_opaquePass) {
gpu::doInBatch(args->_context, [&](gpu::Batch& batch){ gpu::doInBatch(args->_context, [&](gpu::Batch& batch){
batch.enableStereo(false); batch.enableStereo(false);
batch.clearFramebuffer(gpu::Framebuffer::BUFFER_DEPTH, glm::vec4(), 1.f, 0, true); batch.clearFramebuffer(gpu::Framebuffer::BUFFER_DEPTH, glm::vec4(), 1.f, 0, false);
}); });
} }