Merge branch 'thesis/2022/software-integration_velocity-support' into thesis/2022/software-integration_dop_test

This commit is contained in:
Victor Lindquist
2022-06-14 03:07:02 -06:00
13 changed files with 623 additions and 192 deletions

View File

@@ -67,12 +67,14 @@ private:
void loadColormap(SoftwareIntegrationModule* softwareIntegrationModule);
void loadCmapAttributeData(SoftwareIntegrationModule* softwareIntegrationModule);
void loadLinearSizeAttributeData(SoftwareIntegrationModule* softwareIntegrationModule);
void loadVelocityData(SoftwareIntegrationModule* softwareIntegrationModule);
bool checkDataStorage();
void checkColormapMinMax();
void checkIfColormapCanBeEnabled();
void checkIfLinearSizeCanBeEnabled();
void checkColormapMinMax();
void checkIfMotionCanBeEnabled();
std::unique_ptr<ghoul::opengl::ProgramObject> _shaderProgram = nullptr;
UniformCache(
@@ -80,8 +82,9 @@ private:
cameraViewProjectionMatrix, eyePosition, sizeOption,
colormapTexture, colormapMin, colormapMax, cmapNaNMode,
cmapNaNColor, colormapEnabled, linearSizeMin, linearSizeMax,
linearSizeEnabled
linearSizeEnabled,motionEnabled, theTime
) _uniformCache;
// velNaNMode, velNaNColor,
properties::FloatProperty _size;
properties::Vec4Property _color;
@@ -98,17 +101,27 @@ private:
properties::Vec4Property _cmapNaNColor;
properties::StringProperty _name;
properties::BoolProperty _motionEnabled;
properties::IntProperty _velNaNMode;
properties::Vec4Property _velNaNColor;
std::optional<std::string> _identifier = std::nullopt;
bool _hasLoadedColormapAttributeData = false;
bool _hasLoadedColormap = false;
bool _hasLoadedLinearSizeAttributeData = false;
bool _hasLoadedVelocityData = false;
// This is determined by nrAttributes + size for each attribute
const size_t _nValuesForVAOStride = 8;
enum class DataSliceKey : size_t {
Points = 0,
ColormapAttributes,
LinearSizeAttributes
LinearSizeAttributes,
Velocity
};
using DataSlice = std::vector<float>;
std::unordered_map<DataSliceKey, std::shared_ptr<DataSlice>> _dataSlices;