c++ - OpenGL 新手,正在处理 "paint"程序

标签 c++ opengl graphics paint

本学期我在大学学习计算机图形学类(class),我们的第一项任务是构建一个与 Microsoft 画图非常相似的程序。我们需要设置用于绘制不同颜色、大小和透明度参数的形状的选项。

我无法找到有关如何编程在鼠标拖动时使用给定形状绘制的信息。我不是在寻求代码中的解决方案,而是在何处研究可能实现此目的的功能的指导。

我是 OpenGL 的新手(但不是 C++)并且我拥有“Computer Graphics with OpenGL”第 4 版。赫恩和贝克。所有主题均未暗示此功能。

最佳答案

您可能会问您创建一个单独的缓冲窗口,或者切换到在前台缓冲区上绘制,并在按下(和拖动)按钮时在鼠标指针位置绘制一些形状,而不清除其间的前台缓冲区。为了增加绘制到附加纹理的帧缓冲区对象的稳健性,以便拖动某些窗口不会影响用户的绘图。

关键字:将视口(viewport)设置为窗口大小。正投影到窗口边界,不要使用 glClear(重置图片除外)。

关于c++ - OpenGL 新手,正在处理 "paint"程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990301/

相关文章:

c++ - std::greater{} 和 std::greater<int>() 有什么区别?

c++ - 动态生成对象的 glewInit() 错误?

java - 如何绘制平行四边形的图像?

c++ - 为什么 'this' 是指针而不是引用?

C++ 变量没有正确地从 vector 接收新值?

c++ - 如何在openGL中制作一步一步的显示动画?

C++:类中具有自定义大小的数组

java - Android复杂图形元素

c++ - 类错误的重新定义

c++ - 使用 boost::asio 处理 "reset by peer"场景