Typo in scene.h and some cleanup
This commit is contained in:
parent
cba45bdecf
commit
bc8d855098
|
@ -55,3 +55,4 @@ Thumbs.db
|
|||
|
||||
# Libraries and dependencies
|
||||
/lib/
|
||||
/hgt/
|
|
@ -45,8 +45,7 @@ class Scene {
|
|||
glm::mat4 projection_matrix_;
|
||||
|
||||
void UpdateCamera();
|
||||
int16_t Scene::SwapEndian(int16_t val);
|
||||
float NormalizeHeight(int16_t value, int16_t minVal, int16_t maxVal);
|
||||
int16_t SwapEndian(int16_t val);
|
||||
GLuint CreateHeightmapTexture(std::vector<int16_t> data, int width, int height);
|
||||
};
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ const std::string kFragmentShaderPath = "shaders/fragment.glsl";
|
|||
const std::string kQuadVertexPath = "shaders/quad_vertex.glsl";
|
||||
const std::string kQuadFragmentPath = "shaders/quad_fragment.glsl";
|
||||
|
||||
const std::string kHGTPath = "C:/Users/jmchr/Downloads/N02E016.SRTMGL1.hgt/N02E016.hgt";
|
||||
const std::string kHGTPath = "hgt/N02E016.hgt";
|
||||
|
||||
GLuint tex_id = -1;
|
||||
|
||||
|
@ -317,41 +317,18 @@ void Scene::UpdateCamera() {
|
|||
projection_matrix_ = glm::perspective(fov_, aspect_, near_z_, far_z_);
|
||||
}
|
||||
|
||||
// HGT files are 16bit integers whereas OpenGL prefers floating point values for color data
|
||||
float Scene::NormalizeHeight(int16_t value, int16_t minVal, int16_t maxVal) {
|
||||
return static_cast<float>(value - minVal) / (maxVal - minVal);
|
||||
}
|
||||
|
||||
GLuint Scene::CreateHeightmapTexture(std::vector<int16_t> data, int width, int height) {
|
||||
int16_t minVal = *std::min_element(data.begin(), data.end());
|
||||
int16_t maxVal = *std::max_element(data.begin(), data.end());
|
||||
|
||||
std::cout << "Min Val: " << minVal << "\n";
|
||||
std::cout << "Max Val: " << maxVal << std::endl;
|
||||
|
||||
std::vector<float> floatData;
|
||||
for (int16_t &d : data) {
|
||||
// Normalize the value between 0 and 1 based on the min/max range
|
||||
d = static_cast<int16_t>(
|
||||
255 * (d - minVal) / (maxVal - minVal)
|
||||
);
|
||||
d = static_cast<int16_t>(255 * (d - minVal) / (maxVal - minVal));
|
||||
|
||||
floatData.push_back(static_cast<float>(d / 255.0f));
|
||||
//floatData.push_back((static_cast<float>(d) / 32767.0f + 1.0f) / 2.0f);
|
||||
}
|
||||
|
||||
minVal = *std::min_element(data.begin(), data.end());
|
||||
maxVal = *std::max_element(data.begin(), data.end());
|
||||
|
||||
std::cout << "Min Val: " << minVal << "\n";
|
||||
std::cout << "Max Val: " << maxVal << std::endl;
|
||||
|
||||
float minFloatVal = *std::min_element(floatData.begin(), floatData.end());
|
||||
float maxFloatVal = *std::max_element(floatData.begin(), floatData.end());
|
||||
|
||||
std::cout << "Min Float Val: " << minFloatVal << "\n";
|
||||
std::cout << "Max Float Val: " << maxFloatVal << std::endl;
|
||||
|
||||
GLuint textureID;
|
||||
glGenTextures(1, &textureID);
|
||||
glBindTexture(GL_TEXTURE_2D, textureID);
|
||||
|
|
Loading…
Reference in New Issue