図形のグラデーション
Siv3D Advent Calendar 2013, 16 日目の記事です。
今日は December 2013 の新機能、図形のグラデーションを紹介します。
グラデーションに対応したのは Line / Rect / Triangle / Quad の 4 つの図形です。draw() メソッドで、単一の Color の代わりに { } を使って頂点色のリストを渡します。
# include <Siv3D.hpp> void Main() { while (System::Update()) { Line({ 20, 20, 300, 40 }).draw(5.0, { Palette::Red, Palette::Yellow }); Triangle(450, 200, 250).draw( { Color(255), Color(255, 0, 0), Color(0, 255, 0) }); Rect(50, 50, 200, 200).draw( { Palette::Blue, Palette::Blue, Palette::White, Palette::White }); Quad({ 200, 300 }, { 400, 300 }, { 500, 400 }, { 100, 400 }).draw( { Alpha(255), Alpha(255), Alpha(0), Alpha(0) }); } }
Rect と Quad は頂点分割の都合上 2 頂点 - 2 頂点以外のグラデーションが綺麗に出せないことがあるので注意してください。