【发布时间】:2016-10-25 22:01:37
【问题描述】:
我是一名电子工程师,将设计一个渲染 2D 和更高版本的 3D 图形的硬件系统。在我可以用硬件做事情之前,我需要测试我在书中读到的算法。基本上我需要编写可以在屏幕上绘制线条和单个像素的 C++ 程序。在我编写 VHDL 以在硬件上实现相同的功能之前,我将使用它来测试所有算法。
我使用什么方法/解决方案来获得一个可以使用 C++ 绘制像素和线条的窗口?我将测试我的投影矩阵代码和 bresenham 整数线算法代码等。我不需要任何更复杂的东西,因为它会破坏目的,例如,如果程序自动遮蔽表面或自动隐藏隐藏表面,那么目的就会失败。
【问题讨论】:
-
当您标记 windows 和 Visual Studio 时,我建议您使用 WPF 一种点网技术,(它不是 C++)非常容易用于图形。在层的层次结构中的某些位置可能是directx。 OpenGL 和任何其他 C++ 图形是一个陡峭的学习曲线。您将没有时间进行研究,最终您将学习图形编程。
-
@PavanChandaka 是 WPF 更容易,例如在窗口中设置单个像素?你是对的,在 C++ 中做这件事会做很多工作,但我没有看到任何好的捷径来处理这么低级别的事情。
-
我会 C++ 但不会 opengl 和 directx,我只想在屏幕上绘制像素,然后刷新并再次绘制像素。
-
问题是在屏幕上绘制像素涉及很多开销。您需要创建一个窗口并响应 UI 消息,其中有很多。如果你已经知道该怎么做,我不希望你在这里问这个问题。
-
创建一个窗口,回复
WM_PAINT消息,用Windows GDI functions绘制,包括SetPixel、LineTo、Rectangle等,绘制像素、线条、形状。SetPixel很慢,有很多优化但是我觉得这里不值得讨论。
标签: c++ windows visual-studio graphics