From 71ee1a70477c5e35b4312a6c359374b7c933fc23 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 17 Jan 2009 17:23:17 +0000 Subject: [PATCH] Updated Uniform name for controlling IsoSurfaceValue --- src/osgVolume/ShaderTechnique.cpp | 2 ++ src/osgVolume/Shaders/volume_iso_frag.cpp | 7 +++---- src/osgVolume/Shaders/volume_tf_iso_frag.cpp | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/osgVolume/ShaderTechnique.cpp b/src/osgVolume/ShaderTechnique.cpp index a2d1564a2..7d6119abd 100644 --- a/src/osgVolume/ShaderTechnique.cpp +++ b/src/osgVolume/ShaderTechnique.cpp @@ -214,6 +214,8 @@ void ShaderTechnique::init() else if (shadingModel==Isosurface) { + stateset->addUniform(cpv._isoProperty->getUniform()); + if (tf) { osg::Texture1D* texture1D = new osg::Texture1D; diff --git a/src/osgVolume/Shaders/volume_iso_frag.cpp b/src/osgVolume/Shaders/volume_iso_frag.cpp index 462910a99..120f40287 100644 --- a/src/osgVolume/Shaders/volume_iso_frag.cpp +++ b/src/osgVolume/Shaders/volume_iso_frag.cpp @@ -1,7 +1,7 @@ char volume_iso_frag[] = "uniform sampler3D baseTexture;\n" "uniform float sampleDensity;\n" "uniform float transparency;\n" - "uniform float alphaCutOff;\n" + "uniform float IsoSurfaceValue;\n" "\n" "varying vec4 cameraPos;\n" "varying vec4 vertexPos;\n" @@ -84,10 +84,10 @@ char volume_iso_frag[] = "uniform sampler3D baseTexture;\n" " {\n" " vec4 color = texture3D( baseTexture, texcoord);\n" "\n" - " float m = (previousColor.a-alphaCutOff) * (color.a-alphaCutOff);\n" + " float m = (previousColor.a-IsoSurfaceValue) * (color.a-IsoSurfaceValue);\n" " if (m <= 0.0)\n" " {\n" - " float r = (alphaCutOff-color.a)/(previousColor.a-color.a);\n" + " float r = (IsoSurfaceValue-color.a)/(previousColor.a-color.a);\n" " texcoord = texcoord - r*deltaTexCoord;\n" " \n" " float a = color.a;\n" @@ -128,7 +128,6 @@ char volume_iso_frag[] = "uniform sampler3D baseTexture;\n" " }\n" "\n" " if (fragColor.w>1.0) fragColor.w = 1.0; \n" - " //if (fragColor.w1.0) fragColor.w = 1.0; \n" - " if (fragColor.w