From 86c3c0f5eeca10f01437b0dad5ea43671ff2f0d9 Mon Sep 17 00:00:00 2001 From: AjayLimaye Date: Wed, 11 Dec 2013 10:45:45 +1100 Subject: [PATCH] fixed addplight bug --- drishti/plugins/plugins.pro | 1 + drishti/shaderfactory.cpp | 13 ------------- drishti/shaderfactory2.cpp | 30 +++--------------------------- drishti/shaderfactoryrgb.cpp | 28 +++------------------------- drishti/viewer.cpp | 6 ++++++ 5 files changed, 13 insertions(+), 65 deletions(-) diff --git a/drishti/plugins/plugins.pro b/drishti/plugins/plugins.pro index d4145293..3e494107 100644 --- a/drishti/plugins/plugins.pro +++ b/drishti/plugins/plugins.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs SUBDIRS = common \ mesh \ + meshpaint \ itk diff --git a/drishti/shaderfactory.cpp b/drishti/shaderfactory.cpp index 48ec12c2..f551f91c 100644 --- a/drishti/shaderfactory.cpp +++ b/drishti/shaderfactory.cpp @@ -1295,12 +1295,6 @@ ShaderFactory::genHighQualitySliceShaderString(bool bit16, if (tearPresent || cropPresent || pathCropPresent) shader += " gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), feather);\n"; - - if (shadows && peel && peelType == 2) - { - shader += QString(" vg1.y += float(%1);\n").arg(lastSet); - shader += " gl_FragColor = mix(texture2D(lutTex, vg1.xy), gl_FragColor, peelfeather);\n"; - } if (viewPresent) shader += "blend(otexCoord, vg, gl_FragColor);\n"; if (pathViewPresent) shader += "pathblend(otexCoord, vg, gl_FragColor);\n"; @@ -1525,13 +1519,6 @@ ShaderFactory::genSliceShadowShaderString(bool bit16, if (tearPresent || cropPresent || pathCropPresent) shader += " gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), feather);\n"; - if (peel && peelType==2) - { - float reduceShadow = 1.0f - qBound(0.0f, (peelMin+1.0f)*0.5f, 1.0f); - shader += QString(" gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), float(%1));\n").\ - arg(reduceShadow); - } - if (viewPresent) shader += "blend(otexCoord, vg, gl_FragColor);\n"; if (pathViewPresent) shader += "pathblend(otexCoord, vg, gl_FragColor);\n"; diff --git a/drishti/shaderfactory2.cpp b/drishti/shaderfactory2.cpp index 71ffd595..85d68415 100644 --- a/drishti/shaderfactory2.cpp +++ b/drishti/shaderfactory2.cpp @@ -505,7 +505,7 @@ ShaderFactory2::genDefaultSliceShaderString(bool lighting, shader += addLighting(nvol); //------------------ - if (peel && peelType!=2) + if (peel) { if (!lighting) { @@ -564,11 +564,6 @@ ShaderFactory2::genDefaultSliceShaderString(bool lighting, shader += QString(" val1 = one-smoothstep(peelMinSub, peelMin, vIdotN);\n"); shader += QString(" val1 *= smoothstep(peelMax, peelMaxPlus, vIdotN);\n"); } -// else -// { //---- keep outside -// shader += QString(" val1 = smoothstep(peelMinSub, peelMin, vIdotN);\n"); -// shader += QString(" val1 = max(val1, (one - smoothstep(peelMax, peelMaxPlus, vIdotN)));\n"); -// } shader += QString(" vIdotN = mix(val1, one, peelMix);\n").arg(peelMix); @@ -897,7 +892,7 @@ ShaderFactory2::genHighQualitySliceShaderString(bool lighting, shader += addLighting(nvol); //------------------ - if (peel && peelType!=2) + if (peel) { if (!lighting) { @@ -956,11 +951,6 @@ ShaderFactory2::genHighQualitySliceShaderString(bool lighting, shader += QString(" val1 = one-smoothstep(peelMinSub, peelMin, vIdotN);\n"); shader += QString(" val1 *= smoothstep(peelMax, peelMaxPlus, vIdotN);\n"); } -// else -// { //---- keep outside -// shader += QString(" val1 = smoothstep(peelMinSub, peelMin, vIdotN);\n"); -// shader += QString(" val1 = max(val1, (one - smoothstep(peelMax, peelMaxPlus, vIdotN)));\n"); -// } shader += QString(" vIdotN = mix(val1, one, peelMix);\n").arg(peelMix); @@ -1019,9 +1009,6 @@ ShaderFactory2::genHighQualitySliceShaderString(bool lighting, if (tearPresent || cropPresent || pathCropPresent) shader += " gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), feather);\n"; - if (shadows && peel && peelType == 2) - shader += " gl_FragColor.rgba *= peelfeather;\n"; - //------------------------------------ shader += "gl_FragColor = 1.0-pow((vec4(1,1,1,1)-gl_FragColor),"; shader += "vec4(lod,lod,lod,lod));\n"; @@ -1210,7 +1197,7 @@ ShaderFactory2::genSliceShadowShaderString(float shadowintensity, //------------------ - if (peel && peelType!=2) + if (peel) { shader += QString(" if (grad1 > 0.0)\n"); @@ -1267,11 +1254,6 @@ ShaderFactory2::genSliceShadowShaderString(float shadowintensity, shader += QString(" val1 = one-smoothstep(peelMinSub, peelMin, vIdotN);\n"); shader += QString(" val1 *= smoothstep(peelMax, peelMaxPlus, vIdotN);\n"); } -// else -// { //---- keep outside -// shader += QString(" val1 = smoothstep(peelMinSub, peelMin, vIdotN);\n"); -// shader += QString(" val1 = max(val1, (one - smoothstep(peelMax, peelMaxPlus, vIdotN)));\n"); -// } shader += QString(" vIdotN = mix(val1, one, peelMix);\n").arg(peelMix); @@ -1336,12 +1318,6 @@ ShaderFactory2::genSliceShadowShaderString(float shadowintensity, if (tearPresent || cropPresent || pathCropPresent) shader += " gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), feather);\n"; - if (peel && peelType==2) - { - float reduceShadow = 1.0f - qBound(0.0f, (peelMin+1.0f)*0.5f, 1.0f); - shader += QString(" gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), float(%1));\n").\ - arg(reduceShadow); - } //------------------------------------ shader += "gl_FragColor = 1.0-pow((vec4(1,1,1,1)-gl_FragColor),"; diff --git a/drishti/shaderfactoryrgb.cpp b/drishti/shaderfactoryrgb.cpp index bb1f2652..02f05bc3 100644 --- a/drishti/shaderfactoryrgb.cpp +++ b/drishti/shaderfactoryrgb.cpp @@ -354,7 +354,7 @@ ShaderFactoryRGB::genDefaultSliceShaderString(bool lighting, shader += addLighting(); //------------------ - if (peel && peelType!=2) + if (peel) { if (!lighting) { @@ -376,11 +376,6 @@ ShaderFactoryRGB::genDefaultSliceShaderString(bool lighting, shader += QString(" float val1 = 1.0-smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); shader += QString(" val1 *= smoothstep(float(%1), float(%1)+0.1, IdotN);\n").arg(peelMax); } -// else -// { //---- keep outside -// shader += QString(" float val1 = smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); -// shader += QString(" val1 = max(val1, (1.0 - smoothstep(float(%1), float(%1)+0.1, IdotN)));\n").arg(peelMax); -// } shader += QString(" IdotN = mix(val1, 1.0, float(%1));\n").arg(peelMix); shader += " gl_FragColor.rgba *= IdotN;\n"; @@ -564,7 +559,7 @@ ShaderFactoryRGB::genHighQualitySliceShaderString(bool lighting, shader += addLighting(); //------------------ - if (peel && peelType!=2) + if (peel) { if (!lighting) { @@ -586,11 +581,6 @@ ShaderFactoryRGB::genHighQualitySliceShaderString(bool lighting, shader += QString(" float val1 = 1.0-smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); shader += QString(" val1 *= smoothstep(float(%1), float(%1)+0.1, IdotN);\n").arg(peelMax); } -// else -// { //---- keep outside -// shader += QString(" float val1 = smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); -// shader += QString(" val1 = max(val1, (1.0 - smoothstep(float(%1), float(%1)+0.1, IdotN)));\n").arg(peelMax); -// } shader += QString(" IdotN = mix(val1, 1.0, float(%1));\n").arg(peelMix); shader += " gl_FragColor.rgba *= IdotN;\n"; @@ -816,7 +806,7 @@ ShaderFactoryRGB::genSliceShadowShaderString(float r, float g, float b, shader += " gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), feather);\n"; //--------------------- - if (peel && peelType!=2) + if (peel) { shader += getNormal(); shader += " vec3 voxpos = pointpos;\n"; @@ -836,24 +826,12 @@ ShaderFactoryRGB::genSliceShadowShaderString(float r, float g, float b, shader += QString(" float val1 = 1.0-smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); shader += QString(" val1 *= smoothstep(float(%1), float(%1)+0.1, IdotN);\n").arg(peelMax); } -// else -// { //---- keep outside -// shader += QString(" float val1 = smoothstep(float(%1)-0.1, float(%1), IdotN);\n").arg(peelMin); -// shader += QString(" val1 = max(val1, (1.0 - smoothstep(float(%1), float(%1)+0.1, IdotN)));\n").arg(peelMax); -// } shader += QString(" IdotN = mix(val1, 1.0, float(%1));\n").arg(peelMix); shader += " gl_FragColor.rgba *= IdotN;\n"; } //------------------ - if (peel && peelType==2) - { - float reduceShadow = 1.0f - qBound(0.0f, (peelMin+1.0f)*0.5f, 1.0f); - shader += QString(" gl_FragColor.rgba = mix(gl_FragColor.rgba, vec4(0.0,0.0,0.0,0.0), float(%1));\n").\ - arg(reduceShadow); - } - shader += QString(" gl_FragColor.rgba *= vec4(%1, %2, %3, %4);\n").\ arg(r).arg(g).arg(b).arg(maxrgb); diff --git a/drishti/viewer.cpp b/drishti/viewer.cpp index 3181d4e9..3684b2c2 100644 --- a/drishti/viewer.cpp +++ b/drishti/viewer.cpp @@ -3403,6 +3403,12 @@ Viewer::processLight(QStringList list) else pts = GeometryObjects::hitpoints()->points(); + if (pts.count() == 0) + { + QMessageBox::information(0, "Error", "Need atleast one point to add a light"); + return; + } + if (list[0] == "addplight") LightHandler::giLights()->addGiPointLight(pts); else