小编5ne*_*ous的帖子

如何在QOpenGLWidget中渲染三角形?

我正在尝试使用QOpenGLWidget在Qt中使用OpenGL,但我很难找到任何相关的例子.我是OpenGL的新手,所以我正在努力学习如何使用它,但我发现的教程似乎并不适用于QOpenGLWidget.现在,我想做的就是渲染一个三角形.

这是我到目前为止所拥有的.

标题:

namespace Ui {
class Widget;
}

class Widget : public QOpenGLWidget, protected QOpenGLFunctions
{
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

protected:
    void initializeGL();
    void resizeGL(int, int);
    void paintGL();

private:
    Ui::Widget *ui;
};
Run Code Online (Sandbox Code Playgroud)

类:

Widget::Widget(QWidget *parent) :
    QOpenGLWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

void Widget::initializeGL()
{
    // Set up the rendering context, load shaders and other resources, etc.:
    initializeOpenGLFunctions();
    glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
}

void Widget::resizeGL(int w, int h)
{
    // Update projection matrix and other size-related …
Run Code Online (Sandbox Code Playgroud)

c++ opengl qt opengl-es opengl-es-2.0

12
推荐指数
1
解决办法
2万
查看次数

在C++中从无符号long long转换为unsigned int

如果我在C/C++中编写以下代码:

using namespace std::chrono;
auto time = high_resolution_clock::now();
unsigned long long foo = time.time_since_epoch().count();
unsigned bar = foo;
Run Code Online (Sandbox Code Playgroud)

在转换为unsigned int时会丢弃哪些foo?有什么方法可以强制只保留最低有效位吗?

或者,是否有一种简单的方法将foo散列为unsigned int大小?(这是首选,但我在初始化列表中执行所有这些操作.)

编辑:刚刚意识到保留最低有效位仍然可以允许循环.我猜哈希是我当时的目标.

第二次编辑:为了澄清我在评论中回复的内容,我在循环中播种std :: default_random_engine,并且不希望溢出导致种子值重复.我正在寻找一种简单的方法来将unsigned long long哈希到unsigned int.

c++ hash c++11

2
推荐指数
1
解决办法
1424
查看次数

标签 统计

c++ ×2

c++11 ×1

hash ×1

opengl ×1

opengl-es ×1

opengl-es-2.0 ×1

qt ×1