Improved multiple transfer functions

This commit is contained in:
Sebastian Piwell
2016-06-02 16:56:25 -04:00
parent d788e31334
commit 41299f17f7
8 changed files with 28 additions and 10 deletions
+2 -2
View File
@@ -159,8 +159,8 @@ void DataCygnet::setTextureUniforms(){
}
//Set Transfer Functions
if(activeTextures > 0){
if(selectedOptions.back()>=activeTransferfunctions)
if(activeTextures >= MAX_TEXTURES){
// if(selectedOptions.back()>=activeTransferfunctions)
activeTransferfunctions = 1;
}
+1 -1
View File
@@ -37,7 +37,7 @@ DataPlane::DataPlane(const ghoul::Dictionary& dictionary)
,_autoFilter("autoFilter", "Auto Filter", false)
,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0))
,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0))
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf")
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/default.tf")
{
addProperty(_useLog);
+1 -1
View File
@@ -39,7 +39,7 @@ DataSphere::DataSphere(const ghoul::Dictionary& dictionary)
,_autoFilter("autoFilter", "Auto Filter", false)
,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0))
,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0))
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf")
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/default.tf")
,_sphere(nullptr)
{
float radius;
+1 -1
View File
@@ -47,7 +47,7 @@ IswaDataGroup::IswaDataGroup(std::string name, std::string type)
,_autoFilter("autoFilter", "Auto Filter", true)
,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0))
,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0))
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf")
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/default.tf")
,_dataOptions("dataOptions", "Data Options")
{
addProperty(_useLog);
+3 -3
View File
@@ -54,7 +54,7 @@ KameleonPlane::KameleonPlane(const ghoul::Dictionary& dictionary)
,_autoFilter("autoFilter", "Auto Filter", true)
,_normValues("normValues", "Normalize Values", glm::vec2(1.0,1.0), glm::vec2(0), glm::vec2(5.0))
,_backgroundValues("backgroundValues", "Background Values", glm::vec2(0.0), glm::vec2(0), glm::vec2(1.0))
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/hot.tf")
,_transferFunctionsFile("transferfunctions", "Transfer Functions", "${SCENE}/iswa/tfs/default.tf")
,_dataOptions("dataOptions", "Data Options")
,_fieldlines("fieldlineSeedsIndexFile", "Fieldline Seedpoints")
,_resolution("resolution", "Resolution%", 1.0f, 0.1, 2.0f)
@@ -271,8 +271,8 @@ void KameleonPlane::setUniforms(){
}
}
if(activeTextures > 0){
if(selectedOptions.back()>=activeTransferfunctions)
if(activeTextures > MAX_TEXTURES){
// if(selectedOptions.back()>=activeTransferfunctions)
activeTransferfunctions = 1;
}
+4 -2
View File
@@ -61,7 +61,8 @@ Fragment getFragment() {
vec4 color = texture(transferFunctions[0], vec2(v,0));
if((v<(x+y)) && v>(x-y))
color = mix(transparent, color, clamp(1,0,abs(v-x)));
color = transparent;
// color = mix(transparent, color, clamp(1,0,abs(v-x)));
diffuse = color;
}else{
@@ -69,7 +70,8 @@ Fragment getFragment() {
v = texture(textures[i], vec2(vs_st.s, 1-vs_st.t)).r;
vec4 color = texture(transferFunctions[i], vec2(v,0));
if((v<(x+y)) && v>(x-y))
color = mix(transparent, color, clamp(1,0,abs(v-x)));
color = transparent;
// color = mix(transparent, color, clamp(1,0,abs(v-x)));
diffuse += color;
}
}