mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-18 10:59:18 -06:00
Code cleanup and refactoring
This commit is contained in:
@@ -69,13 +69,13 @@ local Keybindings = {
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.NodeGroup.skippingNodesByFlux', 0.000000);" ..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.NodeGroup.skippingNodesByRadius', 0.000000);" ..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.thresholdFlux', 0.000000);" ..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.filteringlower', 0.000000);" ..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.filterLower', 0.000000);" ..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Earthfocus.distancePlanetThreshold', 0.000000);"..
|
||||
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');"..
|
||||
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Sun');"..
|
||||
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);"..
|
||||
"openspace.navigation.loadNavigationState('Sun');"..
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.filteringupper', 5.000000);",
|
||||
"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.filterUpper', 5.000000);",
|
||||
--"Todo, fix the last one which is on the z axis"
|
||||
--"openspace.setPropertyValueSingle('Scene.MAS_MHD_StreamNodes.Renderable.Streams.limitsZLower', {--358139527168.969971,953488375808.000000});",
|
||||
Documentation = "Resets the visualisation of streamnodes",
|
||||
|
||||
@@ -138,12 +138,12 @@ namespace {
|
||||
"This value specifies the threshold that will be changed with the flux value."
|
||||
};
|
||||
constexpr openspace::properties::Property::PropertyInfo FilteringInfo = {
|
||||
"filteringLower",
|
||||
"filterLower",
|
||||
"Filtering Lower Value in AU",
|
||||
"Use filtering to show nodes within a given range."
|
||||
};
|
||||
constexpr openspace::properties::Property::PropertyInfo FilteringUpperInfo = {
|
||||
"filteringUpper",
|
||||
"filterUpper",
|
||||
"Filtering Upper Value in AU",
|
||||
"Use filtering to show nodes within a given range."
|
||||
};
|
||||
@@ -223,9 +223,9 @@ namespace {
|
||||
"The misalignement number for sequence for streamnodes vs Fieldlines"
|
||||
};
|
||||
constexpr openspace::properties::Property::PropertyInfo FlowColorInfo = {
|
||||
"color",
|
||||
"Color",
|
||||
"Color of particles."
|
||||
"flowcolor",
|
||||
"Color of Flow",
|
||||
"Color of Flow."
|
||||
};
|
||||
constexpr openspace::properties::Property::PropertyInfo FlowEnabledInfo = {
|
||||
"flowEnabled",
|
||||
@@ -248,7 +248,7 @@ namespace {
|
||||
"Speed",
|
||||
"Speed of the flow."
|
||||
};
|
||||
constexpr openspace::properties::Property::PropertyInfo FlowColoringInfo = {
|
||||
constexpr openspace::properties::Property::PropertyInfo UseFlowColorInfo = {
|
||||
"coloring",
|
||||
"Color either by Flowcolor or Flow colortable",
|
||||
"If set to true the flow will be colored by Flowcolor."
|
||||
@@ -372,7 +372,7 @@ RenderableStreamNodes::RenderableStreamNodes(const ghoul::Dictionary& dictionary
|
||||
, _pDomainZ(DomainZInfo)
|
||||
, _pFluxColorAlpha(FluxColorAlphaInfo, 1.f, 0.f, 1.f)
|
||||
, _pThresholdFlux(ThresholdFluxInfo, 0.f, -50.f, 10.f)
|
||||
, _pFiltering(FilteringInfo, 0.f, 0.f, 5.f)
|
||||
, _pFilteringLower(FilteringInfo, 0.f, 0.f, 5.f)
|
||||
, _pFilteringUpper(FilteringUpperInfo, 5.f, 0.f, 5.f)
|
||||
, _pAmountofNodes(AmountofNodesInfo, 1, 1, 100)
|
||||
, _pDefaultNodeSkip(DefaultNodeSkipInfo, 1, 1, 100)
|
||||
@@ -393,7 +393,7 @@ RenderableStreamNodes::RenderableStreamNodes(const ghoul::Dictionary& dictionary
|
||||
, _pFlowParticleSize(FlowParticleSizeInfo, 5, 0, 500)
|
||||
, _pFlowParticleSpacing(FlowParticleSpacingInfo, 60, 0, 500)
|
||||
, _pFlowSpeed(FlowSpeedInfo, 20, 0, 1000)
|
||||
, _pFlowColoring(FlowColoringInfo, false)
|
||||
, _pUseFlowColor(UseFlowColorInfo, false)
|
||||
, _scaleFactor(TempInfo1, 150.f, 1.f, 500.f)
|
||||
//, _pMinNodeDistanceSize(MinNodeDistanceSizeInfo, 1.f, 1.f, 7.f)
|
||||
, _pMaxNodeDistanceSize(MaxNodeDistanceSizeInfo, 1.f, 1.f, 10.f)
|
||||
@@ -1096,7 +1096,7 @@ void RenderableStreamNodes::setupProperties() {
|
||||
_pColorGroup.addProperty(_pFluxColorAlpha);
|
||||
|
||||
_pStreamGroup.addProperty(_pThresholdFlux);
|
||||
_pStreamGroup.addProperty(_pFiltering);
|
||||
_pStreamGroup.addProperty(_pFilteringLower);
|
||||
_pStreamGroup.addProperty(_pFilteringUpper);
|
||||
_pStreamGroup.addProperty(_pDomainZ);
|
||||
|
||||
@@ -1121,7 +1121,7 @@ void RenderableStreamNodes::setupProperties() {
|
||||
_pFlowGroup.addProperty(_pFlowParticleSize);
|
||||
_pFlowGroup.addProperty(_pFlowParticleSpacing);
|
||||
_pFlowGroup.addProperty(_pFlowSpeed);
|
||||
_pFlowGroup.addProperty(_pFlowColoring);
|
||||
_pFlowGroup.addProperty(_pUseFlowColor);
|
||||
|
||||
// --------------------- Add Options to OptionProperties --------------------- //
|
||||
_pGoesEnergyBins.addOption(static_cast<int>(GoesEnergyBins::Emin01), "Emin01");
|
||||
@@ -1258,8 +1258,8 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
const glm::dmat4 modelViewMat = data.camera.combinedViewMatrix() * modelMat;
|
||||
|
||||
//not in use atm.
|
||||
// _shaderProgram->setUniform("modelViewProjection",
|
||||
// data.camera.sgctInternal.projectionMatrix() * glm::mat4(modelViewMat));
|
||||
_shaderProgram->setUniform("modelViewProjection",
|
||||
data.camera.sgctInternal.projectionMatrix() * glm::mat4(modelViewMat));
|
||||
|
||||
|
||||
//glm::vec3 earthPos = glm::vec3(94499869340, -115427843118, 11212075887.3);
|
||||
@@ -1278,7 +1278,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
_shaderProgram->setUniform(_uniformCache.nodeSizeLargerFlux, _pNodeSizeLargerFlux);
|
||||
_shaderProgram->setUniform(_uniformCache.thresholdFlux, _pThresholdFlux);
|
||||
_shaderProgram->setUniform("colorMode", _pColorMode);
|
||||
_shaderProgram->setUniform("filterRadius", _pFiltering);
|
||||
_shaderProgram->setUniform("filterLower", _pFilteringLower);
|
||||
_shaderProgram->setUniform("filterUpper", _pFilteringUpper);
|
||||
_shaderProgram->setUniform("scalingMode", _pScalingmethod);
|
||||
_shaderProgram->setUniform("colorTableRange", _pColorTableRange.value());
|
||||
@@ -1303,7 +1303,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
"time",
|
||||
global::windowDelegate.applicationTime() * -1
|
||||
);
|
||||
_shaderProgram->setUniform("flowColoring", _pFlowColoring);
|
||||
_shaderProgram->setUniform("flowColoring", _pUseFlowColor);
|
||||
//_shaderProgram->setUniform("minNodeDistanceSize", _pMinNodeDistanceSize);
|
||||
_shaderProgram->setUniform("maxNodeDistanceSize", _pMaxNodeDistanceSize);
|
||||
//_shaderProgram->setUniform("nodeDistanceThreshold", _pNodeDistanceThreshold);
|
||||
@@ -1314,6 +1314,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
_shaderProgram->setUniform("usingRadiusPerspective", _pRadiusPerspective);
|
||||
|
||||
//////// test for camera perspective:
|
||||
/*
|
||||
glm::dmat4 modelMatrix =
|
||||
glm::translate(glm::dmat4(1.0), data.modelTransform.translation) * // Translation
|
||||
glm::dmat4(data.modelTransform.rotation) * // Spice rotation
|
||||
@@ -1338,12 +1339,14 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
orthoRight = glm::normalize(glm::cross(otherVector, cameraViewDirectionWorld));
|
||||
}
|
||||
glm::dvec3 orthoUp = glm::normalize(glm::cross(cameraViewDirectionWorld, orthoRight));
|
||||
*/
|
||||
glm::vec3 cameraPos = data.camera.positionVec3();
|
||||
|
||||
//this gives the same referenceframe as the nodes and makes it possible to see the
|
||||
//the distance between the camera and the nodes.
|
||||
cameraPos = cameraPos * data.modelTransform.rotation;
|
||||
|
||||
_shaderProgram->setUniform("cameraPos", cameraPos);
|
||||
//glm::vec3 cameraPos = data.camera.unsynchedPositionVec3();
|
||||
//LDEBUG("camerapos x: " + std::to_string(cameraPos.x));
|
||||
//LDEBUG("camerapos y: " + std::to_string(cameraPos.z));
|
||||
@@ -1356,9 +1359,9 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
// cameraPos.x = cameraPostemp.x;
|
||||
// cameraPos.y = cameraPostemp.y;
|
||||
// cameraPos.z = cameraPostemp.z;
|
||||
_shaderProgram->setUniform("cameraPos", cameraPos);
|
||||
_shaderProgram->setUniform("scaleFactor", _scaleFactor);
|
||||
_shaderProgram->setUniform(
|
||||
// _shaderProgram->setUniform("scaleFactor", _scaleFactor);
|
||||
/* _shaderProgram->setUniform(
|
||||
|
||||
"up",
|
||||
glm::vec3(data.camera.lookUpVectorWorldSpace())
|
||||
);
|
||||
@@ -1369,6 +1372,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
glm::dmat4(data.camera.projectionMatrix()) * data.camera.combinedViewMatrix()
|
||||
)
|
||||
);
|
||||
|
||||
//_shaderProgram->setUniform("minPointSize", 3.f); // in pixels
|
||||
//_shaderProgram->setUniform("maxPointSize", 30.f); // in pixels
|
||||
_shaderProgram->setUniform("up", glm::vec3(orthoUp));
|
||||
@@ -1380,6 +1384,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
);
|
||||
GLint viewport[4];
|
||||
glGetIntegerv(GL_VIEWPORT, viewport);
|
||||
*/
|
||||
// _shaderProgram->setUniform("screenSize", glm::vec2(viewport[2], viewport[3]));
|
||||
|
||||
//_shaderProgram->setUniform("camerapos", data.camera.)
|
||||
@@ -1406,63 +1411,7 @@ void RenderableStreamNodes::render(const RenderData& data, RendererTasks&) {
|
||||
const std::vector<glm::vec3>& vertPos = _vertexPositions;
|
||||
glBindVertexArray(_vertexArrayObject);
|
||||
|
||||
/*
|
||||
glBegin(GL_LINE_LOOP); //start drawing a line loop
|
||||
glVertex3f(-1.0f, 0.0f, 0.0f); //left of window
|
||||
glVertex3f(0.0f, -1.0f, 0.0f); //bottom of window
|
||||
glVertex3f(1.0f, 0.0f, 0.0f); //right of window
|
||||
glVertex3f(0.0f, 1.0f, 0.0f); //top of window
|
||||
glEnd(); //end drawing of line loop
|
||||
*/
|
||||
|
||||
/*glColor3f(1, 0, 0);
|
||||
glBegin(GL_TRIANGLES);
|
||||
glVertex3f(-0.60, 0.77, 0); // <--- -0.60 instead of -0.68
|
||||
glVertex3f(-0.68, 0.77, 0); // <--- -0.68 instead of -0.60
|
||||
glVertex3f(-0.7, 0.68, 0);
|
||||
glVertex3f(-0.64, 0.63, 0);
|
||||
glVertex3f(-0.58, 0.68, 0);
|
||||
glEnd();*/
|
||||
|
||||
/*glTranslatef(0.0f, 0.0f, -4.0f);//move forward 4 units
|
||||
|
||||
glColor3f(0.0f, 0.0f, 1.0f); //blue color
|
||||
|
||||
glBegin(GL_POLYGON);//begin drawing of polygon
|
||||
glVertex3f(-0.5f, 0.5f, 0.0f);//first vertex
|
||||
glVertex3f(0.5f, 0.5f, 0.0f);//second vertex
|
||||
glVertex3f(1.0f, 0.0f, 0.0f);//third vertex
|
||||
glVertex3f(0.5f, -0.5f, 0.0f);//fourth vertex
|
||||
glVertex3f(-0.5f, -0.5f, 0.0f);//fifth vertex
|
||||
glVertex3f(-1.0f, 0.0f, 0.0f);//sixth vertex
|
||||
glEnd();//end drawing of polygon*/
|
||||
|
||||
/*static float arrowCoordinates[] = {
|
||||
-0.3f, 0.2f, 0.0f, // left swing
|
||||
0.0f, 0.5f, 0.0f, // top
|
||||
0.0f, -0.5f, 0.0f, // bottom
|
||||
0.0f, 0.5f, 0.0f, // back to top again
|
||||
0.3f, 0.2f, 0.0f // right swing
|
||||
};
|
||||
*/
|
||||
|
||||
/*int COORDS_PER_VERTEX = 3;
|
||||
int vertexCount = 364 * 3 / COORDS_PER_VERTEX;
|
||||
int vertexStride = COORDS_PER_VERTEX * 4; // 4 bytes per vertex
|
||||
glEnableVertexAttribArray(Arrow);
|
||||
//glVertexAttribPointer(Arrow, 3, GL_FLOAT, GL_FALSE, 0, 0);
|
||||
//glVertexAttribPointer(Arrow, COORDS_PER_VERTEX, GL_FLOAT, GL_FALSE, vertexStride, vertexBuffer);
|
||||
glVertexAttribPointer(Arrow, COORDS_PER_VERTEX, GL_FLOAT, GL_FALSE, vertexStride, 0);
|
||||
glDrawArrays(GL_LINE_STRIP, 0, vertexCount);*/
|
||||
|
||||
//glBindBuffer(GL_ARRAY_BUFFER, _vertexPositionBuffer);
|
||||
|
||||
/*glMultiDrawArrays(
|
||||
GL_LINE_STRIP, //_drawingOutputType,
|
||||
_lineStart.data(),
|
||||
_lineCount.data(),
|
||||
static_cast<GLsizei>(_lineStart.size())
|
||||
);*/
|
||||
|
||||
_shaderProgram->setUniform("firstRender", true);
|
||||
|
||||
GLint temp = 0;
|
||||
|
||||
@@ -236,7 +236,7 @@ private:
|
||||
// Threshold flux value
|
||||
properties::FloatProperty _pThresholdFlux;
|
||||
// Filtering nodes within a range
|
||||
properties::FloatProperty _pFiltering;
|
||||
properties::FloatProperty _pFilteringLower;
|
||||
// Filtering nodes with a upper range
|
||||
properties::FloatProperty _pFilteringUpper;
|
||||
// Amount of nodes to show
|
||||
@@ -273,7 +273,7 @@ private:
|
||||
// Speed of simulated flow
|
||||
properties::IntProperty _pFlowSpeed;
|
||||
//Either use flowcolortable or FlowColor.
|
||||
properties::BoolProperty _pFlowColoring;
|
||||
properties::BoolProperty _pUseFlowColor;
|
||||
|
||||
properties::PropertyOwner _pCameraPerspectiveGroup;
|
||||
properties::BoolProperty _pCameraPerspective;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
// General Uniforms that's always needed
|
||||
uniform vec4 lineColor;
|
||||
//old not in use atm
|
||||
//uniform mat4 modelViewProjection;
|
||||
uniform mat4 modelViewProjection;
|
||||
|
||||
// Uniforms needed to color by quantity
|
||||
uniform int colorMode;
|
||||
@@ -60,7 +60,7 @@ uniform float nodeSize;
|
||||
uniform float nodeSizeLargerFlux;
|
||||
uniform vec4 streamColor;
|
||||
uniform float thresholdFlux;
|
||||
uniform float filterRadius;
|
||||
uniform float filterLower;
|
||||
uniform float filterUpper;
|
||||
uniform int scalingMode;
|
||||
uniform int nodeSkipMethod;
|
||||
@@ -77,23 +77,24 @@ uniform bool firstRender;
|
||||
uniform int enhanceMethod;
|
||||
uniform double time;
|
||||
|
||||
|
||||
//uniform float interestingStreams[4];
|
||||
|
||||
// Speicific uniforms for cameraperspective
|
||||
uniform float scaleFactor;
|
||||
//uniform float scaleFactor;
|
||||
//uniform float minNodeDistanceSize;
|
||||
uniform float maxNodeDistanceSize;
|
||||
uniform float nodeDistanceThreshold;
|
||||
|
||||
uniform mat4 cameraViewProjectionMatrix;
|
||||
uniform dmat4 modelMatrix;
|
||||
//uniform mat4 cameraViewProjectionMatrix;
|
||||
//uniform dmat4 modelMatrix;
|
||||
|
||||
uniform float correctionSizeFactor;
|
||||
uniform float correctionSizeEndDistance;
|
||||
uniform vec3 cameraPos;
|
||||
uniform vec3 up;
|
||||
uniform vec3 right;
|
||||
uniform float correctionSizeFactor;
|
||||
//uniform float correctionSizeEndDistance;
|
||||
//uniform vec3 up;
|
||||
//uniform vec3 right;
|
||||
uniform vec3 cameraLookUp; // in world space (no SGCT View was considered)
|
||||
uniform vec3 cameraPos;
|
||||
//uniform vec2 screenSize;
|
||||
uniform bool usingCameraPerspective;
|
||||
uniform bool usingRadiusPerspective;
|
||||
@@ -351,7 +352,7 @@ void main() {
|
||||
|
||||
if(CheckvertexIndex()){
|
||||
//Filtering by radius and z-axis
|
||||
if(rValue > filterRadius && rValue < filterUpper){ //if(rValue > filterRadius){
|
||||
if(rValue > filterLower && rValue < filterUpper){ //if(rValue > filterLower){
|
||||
if(in_position.z > domainLimZ.x && in_position.z < domainLimZ.y){
|
||||
//Uniform coloring
|
||||
if(colorMode == 0){
|
||||
@@ -384,7 +385,53 @@ void main() {
|
||||
vs_color = vec4(0);
|
||||
}
|
||||
|
||||
/*
|
||||
if(usingCameraPerspective){
|
||||
float rtemp = 1.0;
|
||||
if(rValue > 1.0){
|
||||
rtemp = 1.0;
|
||||
}
|
||||
else{
|
||||
rtemp = rValue;
|
||||
}
|
||||
|
||||
float maxdist = 600000000000.f;
|
||||
float distancevec = distance(cameraPos, in_position.xyz);
|
||||
|
||||
if(distancevec < maxdist){
|
||||
float distScale = 1 - smoothstep(0, maxdist, distancevec);
|
||||
//float distMinScale = 1 - smoothstep(0, nodeDistanceThreshold, distancevec);
|
||||
float factorS = 1.f;
|
||||
if(usingRadiusPerspective){
|
||||
factorS = pow(distScale, 9) * 100.f * pow(rtemp, 2);
|
||||
}
|
||||
else{
|
||||
factorS = pow(distScale, 9) * 100.f;
|
||||
}
|
||||
gl_PointSize = factorS * maxNodeDistanceSize * 0.8;
|
||||
}
|
||||
// else{
|
||||
// gl_PointSize = nodeSize;
|
||||
// }
|
||||
|
||||
if(gl_PointSize > 40){
|
||||
gl_PointSize = 40;
|
||||
}
|
||||
if(gl_PointSize < 1.f){
|
||||
gl_PointSize = 1.f;
|
||||
}
|
||||
}
|
||||
|
||||
vec4 position_in_meters = vec4(in_position, 1);
|
||||
vec4 positionClipSpace = modelViewProjection * position_in_meters;
|
||||
//vs_gPosition = vec4(modelViewTransform * dvec4(in_point_position, 1));
|
||||
|
||||
gl_Position = vec4(positionClipSpace.xy, 0, positionClipSpace.w);
|
||||
vs_depth = gl_Position.w;
|
||||
|
||||
}
|
||||
|
||||
//------------ OLD CODE, MAYBE USEFUL FOR CAMERAPERSPECTIVE
|
||||
/*
|
||||
if(distance(in_position, cameraPos) < 100000000000.f){
|
||||
gl_PointSize = nodeSize * 5;
|
||||
}
|
||||
@@ -393,6 +440,7 @@ void main() {
|
||||
}
|
||||
*/
|
||||
//test for camera perspective::
|
||||
/*
|
||||
dvec4 dpos = dvec4(in_position, 1.0);
|
||||
dpos = modelMatrix * dpos;
|
||||
|
||||
@@ -409,7 +457,7 @@ void main() {
|
||||
float expVar = float(-distCamera) / pow(10.f, correctionSizeEndDistance);
|
||||
float factorVar = pow(10.f, correctionSizeFactor);
|
||||
scaleMultiply *= 1.f / (1.f + factorVar * exp(expVar));
|
||||
|
||||
*/
|
||||
//vec2 halfViewSize = vec2(screenSize.x, screenSize.y) * 0.5f;
|
||||
// vec2 topRight = crossCorner.xy/crossCorner.w;
|
||||
// vec2 bottomLeft = initialPosition.xy/initialPosition.w;
|
||||
@@ -430,7 +478,7 @@ void main() {
|
||||
gl_PointSize = ta;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
vec3 scaledRight = scaleMultiply * right * 0.5f;
|
||||
vec3 scaledUp = scaleMultiply * up * 0.5f;
|
||||
|
||||
@@ -441,80 +489,4 @@ void main() {
|
||||
vec4 initialPosition = z_normalization(dposClip - scaledRightClip - scaledUpClip);
|
||||
gl_Position = initialPosition;
|
||||
vs_depth = initialPosition.w;
|
||||
|
||||
if(usingCameraPerspective){
|
||||
float rtemp = 1.0;
|
||||
if(rValue > 1.0){
|
||||
rtemp = 1.0;
|
||||
}
|
||||
else{
|
||||
rtemp = rValue;
|
||||
}
|
||||
|
||||
float maxdist = 600000000000.f;
|
||||
float distancevec = distance(cameraPos, in_position.xyz);
|
||||
float distScale = 1 - smoothstep(0, maxdist, distancevec);
|
||||
float factorS = pow(distScale, 9) * rValue * 15.f;
|
||||
|
||||
//distancevec = distance(newpos, in_position.xyz);
|
||||
|
||||
if(distancevec < maxdist){
|
||||
float distScale = 1 - smoothstep(0, maxdist, distancevec);
|
||||
//float distMinScale = 1 - smoothstep(0, nodeDistanceThreshold, distancevec);
|
||||
float factorS = 1.f;
|
||||
if(usingRadiusPerspective){
|
||||
factorS = pow(distScale, 9) * 100.f * pow(rtemp, 2);
|
||||
}
|
||||
else{
|
||||
factorS = pow(distScale, 9) * 100.f;
|
||||
}
|
||||
gl_PointSize = factorS * maxNodeDistanceSize * 0.8;
|
||||
}
|
||||
else{
|
||||
gl_PointSize = nodeSize;
|
||||
}
|
||||
|
||||
if(gl_PointSize > 40){
|
||||
gl_PointSize = 40;
|
||||
}
|
||||
if(gl_PointSize < nodeSize){
|
||||
gl_PointSize = nodeSize;
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
float factorS = pow(distScale, 5) * 80.f; //* pow(rValue, 2);
|
||||
if(gl_PointSize * factorS > 30){
|
||||
gl_PointSize = 30;
|
||||
}
|
||||
else{
|
||||
gl_PointSize = gl_PointSize * factorS;
|
||||
}
|
||||
}
|
||||
else{
|
||||
gl_PointSize = 2.f;
|
||||
}
|
||||
*/
|
||||
//if(!firstRender){
|
||||
//CheckdistanceMethod();
|
||||
// }
|
||||
|
||||
//temporary things for trying out point sprites.
|
||||
/* if(!firstRender && vs_color.w != 0){
|
||||
vs_st = in_st;
|
||||
}
|
||||
else{
|
||||
vs_st = vec2(-1);
|
||||
}
|
||||
*/
|
||||
|
||||
vec4 position_in_meters = vec4(in_position, 1);
|
||||
//vec4 positionClipSpace = modelViewProjection * position_in_meters;
|
||||
//vs_gPosition = vec4(modelViewTransform * dvec4(in_point_position, 1));
|
||||
|
||||
// gl_PointSize = nodeSize;
|
||||
//gl_Position = vec4(positionClipSpace.xy, 0, positionClipSpace.w);
|
||||
// vs_depth = gl_Position.w;
|
||||
|
||||
// if(distance(positionClipSpace.xyz, cameraPos) < 0.f){
|
||||
}
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user