QOpenGLWidget图像显示不出

yizhou2010 2017-10-24 03:55:13
一个简单程序中,继承与QOpenGLWidget的自定义类,编译没有问题,但是执行的时候一片空白,没有绘制出所需的点,怎么回事啊?继承类代码如下:
.h
#ifndef MYOPENGLWINDOW_H
#define MYOPENGLWINDOW_H

#include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include <gl/GL.h>
class myOpenglWindow : public QOpenGLWidget, protected QOpenGLFunctions
{
Q_OBJECT
public:
explicit myOpenglWindow(QWidget *parent = nullptr);

protected:
void initializeGL();
void resizeGL(int w, int h);
void paintGL();
signals:

public slots:
};

#endif // MYOPENGLWINDOW_H

.cpp
#include "myopenglwindow.h"
#include <iostream>
#include "glut.h"
using namespace std;
myOpenglWindow::myOpenglWindow(QWidget *parent) : QOpenGLWidget(parent)
{

}

void myOpenglWindow::initializeGL()
{
initializeOpenGLFunctions();
glClearColor(1.0, 1.0, 1.0,1.0);
cout<<glGetString(GL_VERSION)<<endl;
}

void myOpenglWindow::resizeGL(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.5,1.5,-1.5,1.5);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void myOpenglWindow::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glPointSize(10.0);
glColor3d(1.0,0.0,0.0);
glBegin(GL_POINTS);
glVertex3d(0.0, 0.0, 0.0);
glEnd();
}
...全文
1327 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
#Page# 2020-09-07
  • 打赏
  • 举报
回复
https://blog.csdn.net/p942005405/article/details/103739702
Li Xiaolin 2017-12-09
  • 打赏
  • 举报
回复
没用过glut.h 我是直接用opengl的原生函数没有问题
赵4老师 2017-10-24
  • 打赏
  • 举报
回复
百度搜相关关键字。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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