performace optimisations; remove debug print statements
This commit is contained in:
parent
10b2d24f8b
commit
11249419c7
|
@ -62,7 +62,7 @@ static void proc_mesh(ProcState& state, glm::mat4 mat, aiMesh* mesh, const aiSce
|
|||
aiString name;
|
||||
|
||||
material->Get(AI_MATKEY_NAME, name);
|
||||
|
||||
/*
|
||||
std::cout << "Material " << name.C_Str() << " has " << material->mNumProperties << " properties\n";
|
||||
|
||||
for(int i = 0; i < material->mNumProperties; i++)
|
||||
|
@ -97,7 +97,7 @@ static void proc_mesh(ProcState& state, glm::mat4 mat, aiMesh* mesh, const aiSce
|
|||
}
|
||||
|
||||
std::cout << "\n";
|
||||
}
|
||||
}*/
|
||||
|
||||
glm::vec3 matv(0);
|
||||
aiColor4D ai_cb;
|
||||
|
@ -117,8 +117,6 @@ static void proc_mesh(ProcState& state, glm::mat4 mat, aiMesh* mesh, const aiSce
|
|||
cb = em;
|
||||
}
|
||||
|
||||
std::cout << "Material: " << matv << "\n";
|
||||
|
||||
unsigned int handle = proc_texture(state, material, scene, aiTextureType_BASE_COLOR, 0);
|
||||
unsigned int offset = state.offset;
|
||||
glm::mat3 mat3(mat);
|
||||
|
@ -238,6 +236,8 @@ void Mesh::load_model(std::string base, std::string filename)
|
|||
Assimp::Importer importer;
|
||||
|
||||
const aiScene *scene = importer.ReadFile(path.c_str(), aiProcess_Triangulate | aiProcess_FlipUVs);
|
||||
|
||||
std::cout << "Loaded model: " << path << "\n";
|
||||
|
||||
if(scene == nullptr)
|
||||
{
|
||||
|
|
|
@ -92,7 +92,7 @@ unsigned int Texture::load(std::string path)
|
|||
throw std::runtime_error("Failed to load path: " + path);
|
||||
}
|
||||
|
||||
std::cout << "Loaded Image: " << path << "\n";
|
||||
std::cout << "Loaded image: " << path << "\n";
|
||||
|
||||
loaded[path] = handle;
|
||||
return handle;
|
||||
|
|
|
@ -18,9 +18,13 @@
|
|||
|
||||
using namespace Sim::Graphics;
|
||||
|
||||
static GLMesh s_mesh;
|
||||
static GLMesh gm_ui;
|
||||
static GLMesh gm_dynamic_slow[2];
|
||||
|
||||
static Widget::Clock w_clock;
|
||||
|
||||
static int gm_dynamic_slow_at = 0;
|
||||
|
||||
void UI::init()
|
||||
{
|
||||
Mesh m;
|
||||
|
@ -37,8 +41,8 @@ void UI::init()
|
|||
m.set_indices(indices, 6);
|
||||
m.set_vertices(vertices, 4);
|
||||
|
||||
s_mesh.bind();
|
||||
s_mesh.set(m, GL_STATIC_DRAW);
|
||||
gm_ui.bind();
|
||||
gm_ui.set(m, GL_STATIC_DRAW);
|
||||
}
|
||||
|
||||
void UI::update(double dt)
|
||||
|
@ -46,6 +50,17 @@ void UI::update(double dt)
|
|||
w_clock.update(dt);
|
||||
}
|
||||
|
||||
void UI::update_slow()
|
||||
{
|
||||
Mesh mesh;
|
||||
|
||||
w_clock.remesh_slow(mesh);
|
||||
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].bind();
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].set(mesh, GL_DYNAMIC_DRAW);
|
||||
gm_dynamic_slow_at = (gm_dynamic_slow_at + 1) % 2;
|
||||
}
|
||||
|
||||
void UI::render()
|
||||
{
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
@ -57,9 +72,13 @@ void UI::render()
|
|||
glUniformMatrix4fv(Shader::MAIN["projection"], 1, false, &mat_projection[0][0]);
|
||||
glUniformMatrix4fv(Shader::MAIN["camera"], 1, false, &mat_camera[0][0]);
|
||||
|
||||
s_mesh.bind();
|
||||
s_mesh.uniform();
|
||||
s_mesh.render();
|
||||
gm_ui.bind();
|
||||
gm_ui.uniform();
|
||||
gm_ui.render();
|
||||
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].bind();
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].uniform();
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].render();
|
||||
|
||||
w_clock.render();
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ namespace Sim::Graphics::UI
|
|||
|
||||
void init();
|
||||
void update(double dt);
|
||||
void update_slow();
|
||||
void render();
|
||||
|
||||
};
|
||||
|
|
|
@ -19,6 +19,11 @@
|
|||
using namespace Sim::Graphics::Widget;
|
||||
|
||||
void Clock::update(double dt)
|
||||
{
|
||||
this->dt = dt;
|
||||
}
|
||||
|
||||
void Clock::remesh_slow(Mesh& rmesh)
|
||||
{
|
||||
Mesh m;
|
||||
double at = System::active->clock;
|
||||
|
@ -29,22 +34,17 @@ void Clock::update(double dt)
|
|||
int t_m = std::fmod(at / 60, 60);
|
||||
int t_h = std::fmod(at / 3600, 24);
|
||||
|
||||
// ss << "FPS: " << (1.0 / dt) << "\n";
|
||||
ss << "Time: " << std::setfill('0') << std::setw(2) << t_h << ":";
|
||||
ss << std::setfill('0') << std::setw(2) << t_m << ":";
|
||||
ss << std::setfill('0') << std::setw(2) << t_s << "\n";
|
||||
ss << "Day: " << std::floor(at / (3600 * 24)) << "\n";
|
||||
|
||||
m.load_text(ss.str().c_str(), 20);
|
||||
|
||||
data.bind();
|
||||
data.model_matrix = glm::translate(glm::mat4(1), glm::vec3(-wsize + glm::vec2(2, 2), 0));
|
||||
data.set(m, GL_DYNAMIC_DRAW);
|
||||
rmesh.add(m, glm::translate(glm::mat4(1), glm::vec3(-wsize + glm::vec2(2, 2), 0)));
|
||||
}
|
||||
|
||||
void Clock::render()
|
||||
{
|
||||
data.bind();
|
||||
data.uniform();
|
||||
data.render();
|
||||
}
|
||||
|
||||
|
|
|
@ -8,9 +8,10 @@ namespace Sim::Graphics::Widget
|
|||
|
||||
struct Clock
|
||||
{
|
||||
GLMesh data;
|
||||
double dt;
|
||||
|
||||
void update(double dt);
|
||||
void remesh_slow(Mesh& rmesh);
|
||||
void render();
|
||||
};
|
||||
|
||||
|
|
|
@ -142,13 +142,6 @@ void Window::create()
|
|||
}
|
||||
}
|
||||
|
||||
for(Light& light : m.lights)
|
||||
{
|
||||
std::cout << "Sent light: " << light.pos << " with " << light.colour << "\n";
|
||||
}
|
||||
|
||||
std::cout << "Light struct is " << sizeof(m.lights[0]) << " bytes\n";
|
||||
|
||||
// send all the light data
|
||||
glGenBuffers(1, &ssbo_lights);
|
||||
glBindBuffer(GL_SHADER_STORAGE_BUFFER, ssbo_lights);
|
||||
|
@ -184,6 +177,8 @@ void update_slow()
|
|||
gm_dynamic_slow[gm_dynamic_slow_at].bind();
|
||||
gm_dynamic_slow[gm_dynamic_slow_at].set(mesh, GL_DYNAMIC_DRAW);
|
||||
gm_dynamic_slow_at = (gm_dynamic_slow_at + 1) % 2;
|
||||
|
||||
UI::update_slow();
|
||||
}
|
||||
|
||||
void Window::update(double dt)
|
||||
|
@ -210,7 +205,7 @@ void Window::update(double dt)
|
|||
{
|
||||
gm_dynamic_fast.bind();
|
||||
gm_dynamic_fast.set(mesh, GL_DYNAMIC_DRAW);
|
||||
m_dynamic_fast = mesh;
|
||||
m_dynamic_fast = std::move(mesh);
|
||||
}
|
||||
|
||||
secs_wait_now += dt;
|
||||
|
|
Loading…
Reference in New Issue