大家好,我这个opengl画线怎么画不出来?

superwavelet 2011-01-25 10:29:10
void CLink::DrawLink()
{
glLineWidth(LinkPenWidth);
glColor3f(1.0,0.0,0.0);
glBegin(GL_LINES);
glVertex2f(21,100);
glVertex2f(21,100);
glEnd();
glFlush();
}


少写了什么吗?
...全文
657 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
superwavelet 2011-01-26
  • 打赏
  • 举报
回复
明白了,谢谢
superwavelet 2011-01-26
  • 打赏
  • 举报
回复
但为什什么

		glColor3f( 1.0, 0.0, 0.0 );
glLineWidth(5);
glVertex2f( 0.0, 0.0);
glVertex2f( 200.0, 200.0);

glEnd();

glVertex2f( 200.0, 200.0);中不管是取200,200 还是 400,400 画出来的线位置和长短都一样?

并且这条线有些实线,有些是虚线?
superwavelet 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 vrace 的回复:]

你用的是 gluPerspective 设的投影矩阵吧,
用 glOrtho 设定成正投影试试
[/Quote]

牛啊,谢谢,很正确
vrace 2011-01-26
  • 打赏
  • 举报
回复
你用的是 gluPerspective 设的投影矩阵吧,
用 glOrtho 设定成正投影试试
superwavelet 2011-01-26
  • 打赏
  • 举报
回复

void QGLWidget::paintGL()
{
glClear( GL_COLOR_BUFFER_BIT);
/*清楚屏幕和深度缓存。 */
glLoadIdentity();
/*重置当前的模型观察矩阵。 */
glTranslatef( -1.5, 0.0, -6.0 );

glBegin( GL_LINES );
glColor3f( 1.0, 0.0, 0.0 );
glLineWidth(5);
glVertex2f( 0.0, 0.0);
glVertex2f( 100.0, 100.0);

glEnd();
}


glTranslatef( -1.5, 0.0, -6.0 );这一句以去掉,就没有直线显示了。不知为何
gamemagic 2011-01-25
  • 打赏
  • 举报
回复
初始化代码呢? 投影矩阵没设置正确吧?
gamemagic 2011-01-25
  • 打赏
  • 举报
回复
初始化代码呢?

投影矩阵没设置正确吧?
superwavelet 2011-01-25
  • 打赏
  • 举报
回复
非常感谢,但是我改成了不同的值,还是没有任何显示。
Pause_break 2011-01-25
  • 打赏
  • 举报
回复
glVertex2f(21,100);
glVertex2f(21,100);
这两个坐标是一样的咧,不就变成点啦嘛

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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