real quick data loading

This commit is contained in:
Djairo Hougee 2025-01-24 14:26:43 +01:00
parent 82b9d2577c
commit 16fc5d2ae0
3 changed files with 6 additions and 3 deletions

View File

@ -16,7 +16,7 @@
// this is a blocking operation, and really does not follow any practices of code design
// should really be a proper class like GpuBufferHandler.
// also only loads temperature data
void loadData(float* d_data, const int idx) {
void loadData(float* d_data, const int idx, const int timestep) {
std::vector<float> h_data;
std::string path = "data/trimmed";
@ -32,7 +32,7 @@ void loadData(float* d_data, const int idx) {
float* hostVolume = new float[VOLUME_WIDTH * VOLUME_HEIGHT * VOLUME_DEPTH];
for (int i = 0; i < VOLUME_WIDTH * VOLUME_HEIGHT * VOLUME_DEPTH; i++) {
hostVolume[i] = h_data[i + 0*VOLUME_DEPTH*VOLUME_HEIGHT*VOLUME_WIDTH];
hostVolume[i] = h_data[i + timestep*VOLUME_DEPTH*VOLUME_HEIGHT*VOLUME_WIDTH];
// Discard missing values
if (h_data[i + 0*VOLUME_DEPTH*VOLUME_HEIGHT*VOLUME_WIDTH] + epsilon >= infty) hostVolume[i] = -infty;
}
@ -170,7 +170,7 @@ void Window::tick() {
this->widget->tick(1000.0/diff);
if (this->widget->dateChanged) {
// TODO: Load new date file here
loadData(this->data, this->widget->date);
loadData(this->data, this->widget->date, this->widget->timestep);
this->widget->dateChanged = false;
}
if (this->widget->saveImage) {

View File

@ -51,6 +51,7 @@ void parseDate(char* string, int dayOfYear) {
}
Widget::Widget(GLFWwindow* window) :
timestep(0),
opacityK(63),
sigmoidShift(0.5f),
sigmoidExp(-250.0f),
@ -168,6 +169,7 @@ void Widget::tick(double fps) {
}
ImGui::SameLine();
ImGui::Text(this->dateString);
ImGui::DragInt("time step to load", &this->timestep, 1, 0, 3, "%d", ImGuiSliderFlags_AlwaysClamp);
ImGui::DragInt("Samples per pixel", &this->samplesPerPixel, 1, 1, 16, "%d", ImGuiSliderFlags_AlwaysClamp);
if (ImGui::Button("Save render")) this->saveImage = true;
ImGui::End();

View File

@ -34,6 +34,7 @@ private:
ImGuiIO io;
char *dateString;
int samplesPerPixel;
int timestep;
// transfer function controls
int tfComboSelected;