使用opengl如何实现一点结一点的连续画线?(类似随着鼠标的移动,跟着画线)

qwx2000 2007-01-04 11:02:50
void __fastcall TFormMain::RenderGLScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
DrawObjects();
glFlush();
}
void __fastcall TFormMain::DrawObjects()
{
glBegin(GL_LINE_STRIP);
glColor3f(1.0f,0.0f,0.0f); //设置当前色为红色
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(0.0f,X, 0.0f); //X是一个变化的值,通过RS232从外部陆续读入
glEnd();
}
用以上的方法总是一条从0,0,0到最新的X值的直线,如何实现一点一点的连接,而不是从最初点到最后点的联结。
我需要的效果类似于,画图软件中随着鼠标的移动,跟着画线。
另外,如果不用 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);如何消除闪烁?
...全文
797 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anye1235 2012-07-16
  • 打赏
  • 举报
回复
我的代码如下:
glBegin(GL_LINE_STRIP);
for(int i=m_uVertexNum;i <m_vVerter.size()-2;++i)
{
glVertex2f(m_vVerter[i].x,m_vVerter[i].y);

}
anye1235 2012-07-16
  • 打赏
  • 举报
回复
我照1楼的代码编写,画出来的是扇形 ,线倒是挺连续的
Waiting4you 2007-01-06
  • 打赏
  • 举报
回复
偶用得不多,没接触过类似LineTo的功能.不过你的glBegin()和glEnd()之间可以有多个点.

如你用一个vector<float> pts来存多个点,一但RS232有数据读入就在于push_back(X)进去.然后调用DrawObjects()

glBegin(GL_LINE_STRIP);
for(int i=0;i<pts.size();i++)
{
glVertex3f(0.0f,pts[i],0.0f);
}
glEnd();
它通过读取 Excel 表格中的业务数据,合 Word 模板,自动生成多个独立的合同文件,并自动处理了表格中“合计”行的合并与中文大写金额转换。 资源名称:合同文档自动化生成脚本 (1.py) 名字真是乱起 核心功能:Excel 数据读取 → Word 模板渲染 → 表格单元格合并与金额处理 → 批量导出 Word 文档。 适用场景:财务、销售或行政部门需要根据订单或业务明细,批量制作格式统一的合同、报价单或算单。 1. 自动把“钱”变成“大写” 它干了啥:它内置了一个翻译功能,专门把阿拉伯数字(比如 100.50)自动转换成财务专用的中文大写(比如 壹佰元伍角)。 为什么有用:写合同最怕手滑写错金额,或者大写格式不对。这个功能全自动搞定,既标准又不会出错。 2. 自动“装修”表格底部 它干了啥:生成文档后,它会自动找到表格的最后一行,把前几列合并成一个大格子,写上“合计:XXX(大写金额)”,并在最右边填上具体的数字总额。 为什么有用:平时我们做完表格,还得手动去合并单元格、算总数、填大写,非常繁琐。这个脚本直接一步到位,把表格收尾工作做得漂漂亮亮。 3. 像“发传单”一样批量做合同 它干了啥:它会看你的 Excel 表格,按照“编号”把数据归类。 如果是同一个编号的货物,它会把它们塞进同一个合同里(比如一个客户买了三样东西,会自动列三行)。 如果是不同的编号,它就生成不同的合同文件。 为什么有用:不管你有一百个还是一千个订单,它都能自动拆分,给每个客户生成一份独立的、内容准确的合同,完全不用人工去复制粘贴。

13,872

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧