Merge remote-tracking branch 'refs/remotes/origin/main'
This commit is contained in:
commit
f5e586263f
|
|
@ -72,11 +72,6 @@ For example, using the date of the file in question is a good way of ensuring th
|
||||||
|
|
||||||
Once the data is in place, the program may be executed as normal - again make sure to run this on an NVidia GPU.
|
Once the data is in place, the program may be executed as normal - again make sure to run this on an NVidia GPU.
|
||||||
|
|
||||||
<!-- ## Screenshots -->
|
## Screenshots
|
||||||
|
|
||||||
<!-- TODO: add cool screenshots -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ## Modules -->
|
|
||||||
|
|
||||||
<!-- TODO: talk about program design a little -->
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
// this is a blocking operation, and really does not follow any practices of code design
|
// this is a blocking operation, and really does not follow any practices of code design
|
||||||
// should really be a proper class like GpuBufferHandler.
|
// should really be a proper class like GpuBufferHandler.
|
||||||
// also only loads temperature data
|
// 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::vector<float> h_data;
|
||||||
std::string path = "data/trimmed";
|
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];
|
float* hostVolume = new float[VOLUME_WIDTH * VOLUME_HEIGHT * VOLUME_DEPTH];
|
||||||
for (int i = 0; i < VOLUME_WIDTH * VOLUME_HEIGHT * VOLUME_DEPTH; i++) {
|
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
|
// Discard missing values
|
||||||
if (h_data[i + 0*VOLUME_DEPTH*VOLUME_HEIGHT*VOLUME_WIDTH] + epsilon >= infty) hostVolume[i] = -infty;
|
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);
|
this->widget->tick(1000.0/diff);
|
||||||
if (this->widget->dateChanged) {
|
if (this->widget->dateChanged) {
|
||||||
// TODO: Load new date file here
|
// 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;
|
this->widget->dateChanged = false;
|
||||||
}
|
}
|
||||||
if (this->widget->saveImage) {
|
if (this->widget->saveImage) {
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ void parseDate(char* string, int dayOfYear) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget::Widget(GLFWwindow* window) :
|
Widget::Widget(GLFWwindow* window) :
|
||||||
|
timestep(0),
|
||||||
opacityK(63),
|
opacityK(63),
|
||||||
sigmoidShift(0.5f),
|
sigmoidShift(0.5f),
|
||||||
sigmoidExp(-250.0f),
|
sigmoidExp(-250.0f),
|
||||||
|
|
@ -168,6 +169,7 @@ void Widget::tick(double fps) {
|
||||||
}
|
}
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Text(this->dateString);
|
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);
|
ImGui::DragInt("Samples per pixel", &this->samplesPerPixel, 1, 1, 16, "%d", ImGuiSliderFlags_AlwaysClamp);
|
||||||
if (ImGui::Button("Save render")) this->saveImage = true;
|
if (ImGui::Button("Save render")) this->saveImage = true;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ private:
|
||||||
ImGuiIO io;
|
ImGuiIO io;
|
||||||
char *dateString;
|
char *dateString;
|
||||||
int samplesPerPixel;
|
int samplesPerPixel;
|
||||||
|
int timestep;
|
||||||
|
|
||||||
// transfer function controls
|
// transfer function controls
|
||||||
int tfComboSelected;
|
int tfComboSelected;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue