添加子纹理裁剪
This commit is contained in:
@ -43,7 +43,7 @@ private:
|
||||
};
|
||||
|
||||
std::vector<Particle> m_particlePool;
|
||||
uint32_t m_PoolIndex = 5000;
|
||||
uint32_t m_PoolIndex = 1000;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -17,10 +17,12 @@ void SandBox2D::OnAttach()
|
||||
{
|
||||
HZ_PROFILE_FUNCTION();
|
||||
m_LogoTexture = Hazel::Texture2D::Create("assets/textures/iceLogo.png");
|
||||
m_Texture = Hazel::Texture2D::Create("assets/textures/spritesheet-tiles-double.png");
|
||||
m_SubTexture = Hazel::SubTexture2D::CreateFromCoords(m_Texture, {8, 5}, {128, 128}, {1, 2});
|
||||
|
||||
m_Particle.ColorBegin = {0 / 255.f, 212 /255.f, 123 / 255.f,1.0f};
|
||||
m_Particle.ColorEnd = {254 / 255.f, 109 /255.f, 41 / 255.f,1.0f};
|
||||
m_Particle.SizeBegin = 0.5f, m_Particle.SizeVariation = 0.3f, m_Particle.SizeEnd = 0.0f;
|
||||
m_Particle.SizeBegin = 0.3f, m_Particle.SizeVariation = 0.3f, m_Particle.SizeEnd = 0.0f;
|
||||
m_Particle.LifeTime = 1.0f;
|
||||
m_Particle.Velocity = {0.0f, 0.0f};
|
||||
m_Particle.VelocityVariation = {2.0f, 2.0f};
|
||||
@ -53,22 +55,25 @@ void SandBox2D::OnUpdate(Hazel::TimeStep& ts)
|
||||
Hazel::Renderer2D::BeginScene(m_CameraController.GetCamera());
|
||||
|
||||
|
||||
Hazel::Renderer2D::DrawRotateQuad({0.0f, 0.0f}, {1.0f, 1.0f}, 45.f, {1.0f, 1.0f, 1.0f, 1.0f});
|
||||
// Hazel::Renderer2D::DrawQuad({0, 0}, {1.0f,1.0f}, {1.0f, 1.0f, 1.0f, 1.0f});
|
||||
Hazel::Renderer2D::DrawRotateQuad({-0.5f, 0}, {1.0f,1.0f}, glm::radians(0.f), m_LogoTexture);
|
||||
// Hazel::Renderer2D::DrawQuad({0.5f, 0}, {1.0f,1.0f}, m_Texture);
|
||||
Hazel::Renderer2D::DrawQuad({0.5f, 0}, {1.0f,2.0f}, m_SubTexture);
|
||||
|
||||
// Hazel::Renderer2D::DrawRotateQuad({-1.0f, 0.0f}, {0.5f, 0.5f}, 75.f, {1.0f, 0.0f, 1.0f, 1.0f});
|
||||
// Hazel::Renderer2D::DrawRotateQuad({0.0f, 0.0f}, {1.0f, 1.0f}, rotation, m_LogoTexture, 10.f);
|
||||
|
||||
// for (float y = -5.0f; y < 5.0f; y += 0.5f)
|
||||
// {
|
||||
// for (float x = -5.0f; x < 5.0f; x += 0.5f)
|
||||
// {
|
||||
// auto color = glm::vec4((x + 5.0f ) /10.0f, 0.4f, (y + 5.0f) / 10.0f, 1.0f);
|
||||
// Hazel::Renderer2D::DrawQuad({x, y}, {0.45f, 0.45f}, color);
|
||||
// }
|
||||
// }
|
||||
for (float y = -5.0f; y < 5.0f; y += 0.5f)
|
||||
{
|
||||
for (float x = -5.0f; x < 5.0f; x += 0.5f)
|
||||
{
|
||||
auto color = glm::vec4((x + 5.0f ) /10.0f, 0.4f, (y + 5.0f) / 10.0f, 1.0f);
|
||||
Hazel::Renderer2D::DrawQuad({x, y, -0.1f}, {0.45f, 0.45f}, m_LogoTexture, 1, color);
|
||||
}
|
||||
}
|
||||
|
||||
Hazel::Renderer2D::EndScene();
|
||||
|
||||
if (mouseState & SDL_BUTTON_LMASK)
|
||||
if ((mouseState & SDL_BUTTON_LMASK) && m_CurrentWindowID == Hazel::Application::Get().GetWindow().GetMainWindowID())
|
||||
{
|
||||
auto width = Hazel::Application::Get().GetWindow().GetWidth();
|
||||
auto height = Hazel::Application::Get().GetWindow().GetHeight();
|
||||
@ -145,5 +150,8 @@ void SandBox2D::OnImGuiRender()
|
||||
|
||||
void SandBox2D::OnEvent(SDL_Event& e)
|
||||
{
|
||||
if (m_CurrentWindowID != e.window.windowID)
|
||||
m_CurrentWindowID = e.window.windowID;
|
||||
|
||||
m_CameraController.OnEvent(e);
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ private:
|
||||
Hazel::Ref<Hazel::Shader> m_FlatColorShader;
|
||||
Hazel::Ref<Hazel::Texture2D> m_Texture;
|
||||
Hazel::Ref<Hazel::Texture2D> m_LogoTexture;
|
||||
Hazel::Ref<Hazel::SubTexture2D> m_SubTexture;
|
||||
|
||||
glm::vec4 m_BackgroundColor = {0.2f, 0.2f, 0.2f, 1.0f};
|
||||
|
||||
@ -37,6 +38,8 @@ private:
|
||||
|
||||
ParticleSystem m_ParticleSystem;
|
||||
ParticleProp m_Particle;
|
||||
|
||||
SDL_WindowID m_CurrentWindowID;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user