parse abr from PS 2018, restore xmp injection, check uniform hash collision

This commit is contained in:
2019-02-25 23:23:14 +01:00
parent 87044e06c4
commit d3768f43c9
11 changed files with 93 additions and 28 deletions

View File

@@ -558,7 +558,8 @@ void Canvas::stroke_draw()
ShaderManager::u_float(kShaderUniform::Noise, 0);
glActiveTexture(GL_TEXTURE0);
dual_brush->m_tip_texture->bind();
if (dual_brush->m_tip_texture)
dual_brush->m_tip_texture->bind();
auto frames_dual = stroke_draw_compute(*m_dual_stroke);
for (auto& f : frames_dual)
{
@@ -580,8 +581,6 @@ void Canvas::stroke_draw()
m_dirty_box[i] = glm::clamp(box_union(m_dirty_box[i], rect), glm::vec4(0), glm::vec4(m_width));
}
}
glActiveTexture(GL_TEXTURE0);
dual_brush->m_tip_texture->unbind();
}
m_sampler_brush.unbind();
@@ -1440,9 +1439,14 @@ void Canvas::export_equirectangular_thread(std::string file_path)
LOG("writing %s", file_path.c_str());
if (file_path.substr(file_path.size() - 4) == ".jpg")
{
stbi_write_jpg(file_path.c_str(), m_latlong.getWidth(), m_latlong.getHeight(), 4, latlong_data.get(), 100);
inject_xmp(file_path);
}
else if (file_path.substr(file_path.size() - 4) == ".png")
{
stbi_write_png(file_path.c_str(), m_latlong.getWidth(), m_latlong.getHeight(), 4, latlong_data.get(), 0);
}
{
progress++;