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.
|
||||
|
||||
<!-- ## Screenshots -->
|
||||
|
||||
<!-- TODO: add cool screenshots -->
|
||||
## 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
|
||||
// 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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ private:
|
|||
ImGuiIO io;
|
||||
char *dateString;
|
||||
int samplesPerPixel;
|
||||
int timestep;
|
||||
|
||||
// transfer function controls
|
||||
int tfComboSelected;
|
||||
|
|
|
|||
Loading…
Reference in New Issue