Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polygon::calculateBuffer(), calculateRoundBuffer() が失敗することがある #965

Closed
Reputeless opened this issue Mar 17, 2023 · 1 comment

Comments

@Reputeless
Copy link
Member

# include <Siv3D.hpp>

void Main()
{
	Scene::SetBackground(ColorF{ 0.6, 0.8, 0.7 });

	const Font font{ 100, Typeface::Bold };

	Array<Polygon> polygons;
	{
		Vec2 penPos{ 0, 0 };

		for (const auto& glyph : font.renderPolygons(U"Hello, world!"))
		{
			for (const auto& polygon : glyph.polygons)
			{
				polygons << polygon.movedBy(penPos + glyph.getOffset()).calculateRoundBuffer(5);

				polygons << polygon.movedBy(penPos + glyph.getOffset() + Vec2{ 0, 120 }).calculateBuffer(5);
			}

			penPos.x += glyph.xAdvance;
		}
	}

	while (System::Update())
	{
		for (const auto& polygon : polygons)
		{
			polygon.draw();
		}

		Triangle{ 200, 300, 400, 400, 100, 400 }.draw().asPolygon().calculateBuffer(10).draw(ColorF{ 1.0, 0.0, 0.0, 0.4 });

		Triangle{ 600, 400, 700, 500, 400, 500 }.draw().asPolygon().calculateRoundBuffer(10).draw(ColorF{ 1.0, 0.0, 0.0, 0.4 });
	}
}

20230317-202114-285

@Reputeless
Copy link
Member Author

v0.6.7 で修正完了。

20230317-202600-698

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

1 participant