|
|
|
@ -67,13 +67,18 @@ namespace lunarium
|
|
|
|
|
|
|
|
|
|
|
|
//delete[] buffer;
|
|
|
|
//delete[] buffer;
|
|
|
|
stbi_set_flip_vertically_on_load(0);
|
|
|
|
stbi_set_flip_vertically_on_load(0);
|
|
|
|
buffer = stbi_load("lunarium_text_test.png", &w, &h, &n, 0);
|
|
|
|
buffer = stbi_load("debug_texture.jpeg", &w, &h, &n, 0);
|
|
|
|
|
|
|
|
|
|
|
|
format = TextureFormat::RGBA;
|
|
|
|
format = TextureFormat::RGBA;
|
|
|
|
if (n == 1)
|
|
|
|
if (n == 3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
format = TextureFormat::RGB;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (n == 1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
format = TextureFormat::RED;
|
|
|
|
format = TextureFormat::RED;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mpTestImageLoad2 = Texture::Create(buffer, w, h, format);
|
|
|
|
mpTestImageLoad2 = Texture::Create(buffer, w, h, format);
|
|
|
|
//delete[] buffer;
|
|
|
|
//delete[] buffer;
|
|
|
|
|
|
|
|
|
|
|
|
@ -103,6 +108,7 @@ namespace lunarium
|
|
|
|
angle = 0.0f;
|
|
|
|
angle = 0.0f;
|
|
|
|
box_angle = 0.0f;
|
|
|
|
box_angle = 0.0f;
|
|
|
|
mTextDebugPosX = 200;
|
|
|
|
mTextDebugPosX = 200;
|
|
|
|
|
|
|
|
mSubTex = Rectangle::MakeFromTopLeft(0, 0, 256, 256);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void SimpleRenderScene::OnTick(double delta)
|
|
|
|
void SimpleRenderScene::OnTick(double delta)
|
|
|
|
@ -174,10 +180,10 @@ namespace lunarium
|
|
|
|
if (mTestMode == TestMode::Basic)
|
|
|
|
if (mTestMode == TestMode::Basic)
|
|
|
|
mTestMode = TestMode::Stress;
|
|
|
|
mTestMode = TestMode::Stress;
|
|
|
|
|
|
|
|
|
|
|
|
if (mTestMode == TestMode::Stress)
|
|
|
|
else if (mTestMode == TestMode::Stress)
|
|
|
|
mTestMode = TestMode::String;
|
|
|
|
mTestMode = TestMode::String;
|
|
|
|
|
|
|
|
|
|
|
|
if (mTestMode == TestMode::String)
|
|
|
|
else if (mTestMode == TestMode::String)
|
|
|
|
mTestMode = TestMode::Basic;
|
|
|
|
mTestMode = TestMode::Basic;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -288,6 +294,8 @@ namespace lunarium
|
|
|
|
|
|
|
|
|
|
|
|
//g.DrawQuad(Rectangle::MakeFromTopLeft(0.0f, 0.0f, (float)mImageSize.Width, (float)mImageSize.Height), Color(1.0f, 1.0f, 0.0f, 1.0f), nullptr, angle);
|
|
|
|
//g.DrawQuad(Rectangle::MakeFromTopLeft(0.0f, 0.0f, (float)mImageSize.Width, (float)mImageSize.Height), Color(1.0f, 1.0f, 0.0f, 1.0f), nullptr, angle);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g.DrawQuad(Rectangle(100, 100, 16, 16), Color::White(), mpTestImageLoad2, 0.0f, mSubTex);
|
|
|
|
|
|
|
|
|
|
|
|
// g.DrawQuad(Rectangle(200, 200, 128.0f, 128.0f), Color(0.0f, 1.0f, 0.0f, 1.0f));//, nullptr, box_angle);
|
|
|
|
// g.DrawQuad(Rectangle(200, 200, 128.0f, 128.0f), Color(0.0f, 1.0f, 0.0f, 1.0f));//, nullptr, box_angle);
|
|
|
|
// g.DrawQuad(Rectangle(400, 300, 64.0f, 64.0f), Color(0.0f, 1.0f, 1.0f, 1.0f), nullptr, box_angle);
|
|
|
|
// g.DrawQuad(Rectangle(400, 300, 64.0f, 64.0f), Color(0.0f, 1.0f, 1.0f, 1.0f), nullptr, box_angle);
|
|
|
|
// g.DrawQuad(Rectangle(600, 300, 100.0f, 100.0f), Color::Blue(), nullptr, 45.0f);
|
|
|
|
// g.DrawQuad(Rectangle(600, 300, 100.0f, 100.0f), Color::Blue(), nullptr, 45.0f);
|
|
|
|
@ -324,14 +332,22 @@ namespace lunarium
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Texture* dt = g.GetTextDebugTexture();
|
|
|
|
Texture* dt = g.GetTextDebugTexture();
|
|
|
|
g.DrawQuad(Rectangle(mTextDebugPosX, 400, dt->GetWidth() , dt->GetHeight() ), Color::Blue(), dt);
|
|
|
|
g.DrawQuad(Rectangle(mTextDebugPosX, 400, dt->GetWidth() , dt->GetHeight() ), Color::Blue(), dt);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//g.DrawString("This is a test string!", Rectangle(100, 400, 200, 50), Color::Green());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SimpleRenderScene::DrawStatsGUI()
|
|
|
|
void SimpleRenderScene::DrawStatsGUI()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
std::string mode_names[3] = { "Basic", "Stress", "String" };
|
|
|
|
ImGui::SetNextWindowPos(ImVec2(0, 0), ImGuiCond_FirstUseEver);
|
|
|
|
ImGui::SetNextWindowPos(ImVec2(0, 0), ImGuiCond_FirstUseEver);
|
|
|
|
ImGui::SetNextWindowSize(ImVec2(400, 600));
|
|
|
|
ImGui::SetNextWindowSize(ImVec2(400, 800));
|
|
|
|
ImGui::Begin("RENDER INFO");
|
|
|
|
ImGui::Begin("RENDER INFO");
|
|
|
|
|
|
|
|
ImGui::BeginChild("Scene Info", ImVec2(ImGui::GetWindowSize().x - 15, ImGui::GetFrameHeightWithSpacing() * 3.5f), true);
|
|
|
|
|
|
|
|
ImGui::Text("Scene Info");
|
|
|
|
|
|
|
|
ImGui::Separator();
|
|
|
|
|
|
|
|
ImGui::Text("Scene Mode: %s", mode_names[mTestMode].c_str());
|
|
|
|
|
|
|
|
ImGui::EndChild();
|
|
|
|
ImGui::BeginChild("Per Frame", ImVec2(ImGui::GetWindowSize().x - 15, ImGui::GetFrameHeightWithSpacing() * 3.5f), true);
|
|
|
|
ImGui::BeginChild("Per Frame", ImVec2(ImGui::GetWindowSize().x - 15, ImGui::GetFrameHeightWithSpacing() * 3.5f), true);
|
|
|
|
ImGui::Text("Per Frame");
|
|
|
|
ImGui::Text("Per Frame");
|
|
|
|
ImGui::Separator();
|
|
|
|
ImGui::Separator();
|
|
|
|
@ -345,11 +361,16 @@ namespace lunarium
|
|
|
|
ImGui::Text("FPS: %d", Core::GetInstance().GetFrameData().CurrentFPS);
|
|
|
|
ImGui::Text("FPS: %d", Core::GetInstance().GetFrameData().CurrentFPS);
|
|
|
|
ImGui::Text("Frame Number: %d", mNumFrames);
|
|
|
|
ImGui::Text("Frame Number: %d", mNumFrames);
|
|
|
|
ImGui::EndChild();
|
|
|
|
ImGui::EndChild();
|
|
|
|
ImGui::BeginChild("Settings", ImVec2(ImGui::GetWindowSize().x - 15, ImGui::GetFrameHeightWithSpacing() * 3.5f), true);
|
|
|
|
ImGui::BeginChild("Settings", ImVec2(ImGui::GetWindowSize().x - 15, ImGui::GetFrameHeightWithSpacing() * 4.5f), true);
|
|
|
|
ImGui::Text("Settings");
|
|
|
|
ImGui::Text("Settings");
|
|
|
|
ImGui::Separator();
|
|
|
|
ImGui::Separator();
|
|
|
|
ImGui::InputInt("Number of Quads to draw", &mNumQuadsToRender);
|
|
|
|
ImGui::InputInt("Number of Quads to draw", &mNumQuadsToRender);
|
|
|
|
ImGui::Checkbox("Draw Textures", &mUseTextures);
|
|
|
|
ImGui::Checkbox("Draw Textures", &mUseTextures);
|
|
|
|
|
|
|
|
float vals[4] = {mSubTex.left(), mSubTex.top(), mSubTex.HalfWidth * 2, mSubTex.HalfHeight * 2 };
|
|
|
|
|
|
|
|
if (ImGui::DragFloat4("Sub Texture Rect", vals))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mSubTex = Rectangle::MakeFromTopLeft(vals[0], vals[1], vals[2], vals[3]);
|
|
|
|
|
|
|
|
}
|
|
|
|
ImGui::EndChild();
|
|
|
|
ImGui::EndChild();
|
|
|
|
ImGui::End();
|
|
|
|
ImGui::End();
|
|
|
|
|
|
|
|
|
|
|
|
|