mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-24 04:58:59 -05:00
Improved multiple transfer functions
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user