所以我试图创建一个绿色三角形,但绝对不知道如何继续。我是DirectX和win32世界的新手,现在输了。我玩弄了我的教授给出的椭圆代码。这是代码。我理解这一点,但对接近三角形绝对毫无头绪。我正在考虑制作三条直线,但不能走远。救命啊!
brush->SetColor(D2D1::ColorF(red, green, blue, alpha));
rendertarget->DrawEllipse(D2D1::Ellipse(D2D1::Point2F(x, y), radius, radius), brush, 3.0f);
将brush和rendertarget定义为
ID2D1HwndRenderTarget* rendertarget;
ID2D1SolidColorBrush* brush;
答案 0 :(得分:2)
对于Direct2D,您应该在GitHub上查看这些Windows 7时代的经典Win32桌面示例。 Direct2D是一个“矢量图形”或“演示图形”库,用于绘制圆形矩形,实心圆等,从而在Windows早期取代古老的GDI API。您可以在其中编写2D游戏,但由于这些游戏大多只是精灵,因此它可能不是最简单的解决方案。 Direct2D / DirectWrite / WIC API非常低级,因此如果您是目标Windows 10,则应该强烈考虑使用Win2D库进行Direct2D编程。
对于Direct3D 11,您应该查看DirectX Tool Kit tutorials。对于2D和3D游戏,Direct3D可能是游戏开发的更好选择。您可以使用工具包的SpriteBatch
做很多事情。如果您想使用'原始'Direct3D,请在GitHub上查看SimpleTriangle
PC或UWP