gpt4 book ai didi

c++ - OpenGL : How to use glMapBuffer with Qt?

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:30 25 4
gpt4 key购买 nike

我正在尝试将 glMapBuffer 与 QOpenGLWidget 一起使用,但我找不到它。这是我包含的文件:

#include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include <QOpenGLBuffer>
#include <QDebug>
#include <QOpenGLTexture>
#include <GL/gl.h>
#include <GL/glext.h>
#include <QGLFunctions>
#include <QOpenGLShader>
#include <QOpenGLShaderProgram>

最佳答案

你不应该混合使用 QOpenGL 和 QGL(在你的项目配置中删除 QGLFunctions 和旧的、不推荐使用的 OpenGL 模块)。您不需要包含 gl.h 和 glext.h。

您包含了 QOpenGLBuffer。方法map()封装gl​​MapBuffer:

// creation

QOpenGLBuffer buffer = new QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
buffer->create();

// allocation

buffer->bind();

buffer->allocate(size_of_the_buffer);

buffer->release();

// update

buffer->bind();

void* buffer_data = buffer->map(QOpenGLBuffer::WriteOnly);

memcpy(buffer_data, your_data_to_copy, size_of_your_data_to_copy);

buffer->unmap();

buffer->release();

关于c++ - OpenGL : How to use glMapBuffer with Qt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38586298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com