Qt+OpenGL_part1

OpenGL,Qt实现:1入门篇(已更完)_哔哩哔哩_bilibili

OpenGL3.3以上是现代模式(可编程管线):

状态机

状态设置函数(State-changing Function)

状态应用函数  (State-using Function)

OpenGL的状态通常被称为上下文(Context)。

OpenGL3.2以下是传统模式(固定管线):立即渲染模式(Immediate mode)

 GLFW:创建支持OpenGL的窗口(定义上下文)(处理用户输入)。

 GLAD:使代码可以用于不同的OpenGL驱动。 

通常需要通过函数指针调用显卡的函数。

0-2.什么是OpenGL_哔哩哔哩_bilibili

OpenGL核心模式(Core-profile):

可编程模式,更灵活,更高效

灰色不可编程

(以前每个流程都是写死的) 

其中:几何着色器是有默认的部分的(用的不多)

顶点着色器和片段着色器(我们必须写代码)

0-3.OpenGL对象_哔哩哔哩_bilibili

1-1Hello Widget_哔哩哔哩_bilibili

glClearColor(0.2f,0.3f,0.3f,1.0f);//set

glClear(GL_COLOR_BUFFER_BIT);//use

最简单的应用: 

#ifndef OPENGLWIDGET_H
#define OPENGLWIDGET_H

#include <QOpenGLWidget>
#include <QOpenGLFunctions_3_3_Core>

class OpenGLWidget : public QOpenGLWidget,QOpenGLFunctions_3_3_Core
{
    Q_OBJECT
public:
    explicit OpenGLWidget(QWidget *parent = nullptr);
protected:
    virtual void initializeGL();
    virtual void resizeGL(int w, int h);
    virtual void paintGL();
signals:

public slots:
};

#endif // OPENGLWIDGET_H
#include "openglwidget.h"

OpenGLWidget::OpenGLWidget(QWidget *parent) : QOpenGLWidget(parent)
{

}

void OpenGLWidget::initializeGL()
{
    initializeOpenGLFunctions();
}

void OpenGLWidget::resizeGL(int w, int h)
{

}

void OpenGLWidget::paintGL()
{
    glClearColor(0.2f,0.3f,0.3f,1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
}

相关推荐

  1. nvm1.1.11

    2024-04-07 15:28:03       52 阅读
  2. 1.下午试题1

    2024-04-07 15:28:03       29 阅读
  3. HTML-1

    2024-04-07 15:28:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 15:28:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 15:28:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 15:28:03       87 阅读
  4. Python语言-面向对象

    2024-04-07 15:28:03       96 阅读

热门阅读

  1. 洛谷刷题 快速幂-[P3197]越狱(C++)

    2024-04-07 15:28:03       36 阅读
  2. LeetCode 869. 重新排序得到 2 的幂

    2024-04-07 15:28:03       45 阅读
  3. 算法练习----力扣每日一题------7

    2024-04-07 15:28:03       43 阅读
  4. C++初级---模板初阶

    2024-04-07 15:28:03       41 阅读
  5. 多线程(36)AtomicStampedReference

    2024-04-07 15:28:03       43 阅读