当前位置: 首页 > news >正文

台州云推广网站杭州app开发公司哪家好

台州云推广网站,杭州app开发公司哪家好,html5商城网站,钉钉网站建设服务协议树莓派无窗口系统下搭建 OpenGL ES Qt 开发环境#xff0c;并绘制旋转金字塔 1. 安装 OpenGL ES 开发环境 运行以下命令安装所需的 OpenGL ES 开发工具和库#xff1a; sudo apt install cmake mesa-utils libegl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev2. 安…树莓派无窗口系统下搭建 OpenGL ES Qt 开发环境并绘制旋转金字塔 1. 安装 OpenGL ES 开发环境 运行以下命令安装所需的 OpenGL ES 开发工具和库 sudo apt install cmake mesa-utils libegl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev2. 安装 Qt 开发环境 安装 Qt 的核心开发库 sudo apt install -y qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtdeclarative5-dev qml-module-qtquick23. 配置 Qt 使用 EGL 和 GBM无窗口模式 使用 EGLFSEGL Fullscreen插件 EGLFS 插件可以在没有窗口管理器的环境下直接使用 OpenGL 渲染。 确认系统支持 EGLFS ls /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqeglfs.so如果存在 libqeglfs.so表示系统支持 EGLFS。 设置环境变量启用 EGLFS export QT_QPA_PLATFORMeglfs使用 GBM 后台支持 export QT_QPA_EGLFS_INTEGRATIONeglfs_kms或者切换到 Framebuffer可选 export QT_QPA_PLATFORMlinuxfb4. 编写并运行 Qt 项目代码 创建项目目录和文件 mkdir qt-opengl-example cd qt-opengl-examplemain.cpp #include QApplication #include QMainWindow #include openglwidget.hint main(int argc, char *argv[]) {QApplication app(argc, argv);QMainWindow window;OpenGLWidget *widget new OpenGLWidget();window.setCentralWidget(widget);window.setWindowTitle(OpenGL ES Rotating Pyramid);window.resize(800, 600);window.show();return app.exec(); }openglwidget.h #ifndef OPENGLWIDGET_H #define OPENGLWIDGET_H#include QOpenGLWidget #include QOpenGLFunctions #include QTimerclass OpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions {Q_OBJECTpublic:explicit OpenGLWidget(QWidget *parent nullptr);~OpenGLWidget();protected:void initializeGL() override;void resizeGL(int w, int h) override;void paintGL() override;void timerEvent(QTimerEvent *event) override;private:float rotationAngle; };#endif // OPENGLWIDGET_H openglwidget.cpp #include openglwidget.h #include QOpenGLShaderProgram #include QOpenGLBuffer #include QOpenGLVertexArrayObject #include QMatrix4x4 #include QtMathOpenGLWidget::OpenGLWidget(QWidget *parent) :QOpenGLWidget(parent), rotationAngle(0.0f) {setAutoFillBackground(false); // 不自动填充背景交给OpenGL渲染startTimer(10);// 启动定时器每隔0.01秒触发 }OpenGLWidget::~OpenGLWidget() { }void OpenGLWidget::initializeGL() {initializeOpenGLFunctions();glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // 设置清屏颜色glEnable(GL_DEPTH_TEST); // 启用深度测试 }void OpenGLWidget::resizeGL(int w, int h) {glViewport(0, 0, w, h); }void OpenGLWidget::paintGL() {glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除颜色和深度缓冲// 定义金字塔的顶点数据GLfloat vertices[] {// 底面-0.5f, -0.5f, -0.5f, // 顶点10.5f, -0.5f, -0.5f, // 顶点20.5f, -0.5f, 0.5f, // 顶点3-0.5f, -0.5f, 0.5f, // 顶点4// 顶面0.0f, 0.5f, 0.0f // 顶点5};// 定义金字塔的索引GLuint indices[] {0, 1, 4, // 底面与顶面连接的三角形1, 2, 4, // 底面与顶面连接的三角形2, 3, 4, // 底面与顶面连接的三角形3, 0, 4, // 底面与顶面连接的三角形0, 1, 2, // 底面三角形2, 3, 0 // 底面三角形};// 创建并绑定着色器程序QOpenGLShaderProgram program;program.addShaderFromSourceCode(QOpenGLShader::Vertex,#version 300 es\nin vec3 position;\nuniform mat4 modelViewProjectionMatrix;\nvoid main() {\n gl_Position modelViewProjectionMatrix * vec4(position, 1.0);\n});program.addShaderFromSourceCode(QOpenGLShader::Fragment,#version 300 es\nprecision mediump float;\nout vec4 fragColor;\nvoid main() {\n fragColor vec4(1.0, 0.5, 0.0, 1.0); // 金字塔颜色橙色\n});program.link();program.bind();// 创建顶点数组对象和顶点缓冲对象GLuint vao, vbo, ebo;glGenVertexArrays(1, vao);glBindVertexArray(vao);glGenBuffers(1, vbo);glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);glGenBuffers(1, ebo);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);GLint posAttrib program.attributeLocation(position);program.enableAttributeArray(posAttrib);glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 0, nullptr);// 创建一个模型视图投影矩阵QMatrix4x4 projection;projection.perspective(45.0f, (float)width() / height(), 0.1f, 100.0f);projection.translate(0.0f, 0.0f, -3.0f); // 将物体向远离观察者的方向移动QMatrix4x4 modelView;modelView.rotate(rotationAngle, 0.0f, 1.0f, 0.0f); // 水平旋转金字塔QMatrix4x4 modelViewProjectionMatrix projection * modelView;// 将 MVP 矩阵传递给着色器program.setUniformValue(modelViewProjectionMatrix, modelViewProjectionMatrix);// 绘制金字塔glDrawElements(GL_TRIANGLES, 18, GL_UNSIGNED_INT, nullptr);glBindVertexArray(0); }void OpenGLWidget::timerEvent(QTimerEvent *event) {rotationAngle 1.0f; // 增加旋转角度if (rotationAngle 360.0f)rotationAngle 0.0f;update(); // 触发重绘 } 创建项目文件并编译运行 qmake -project echo QT core gui widgets opengl qt-opengl-example.pro qmake make ./qt-opengl-example5. 调试与优化 启用调试日志 export QT_LOGGING_RULESqt.qpa.*true权限问题 确保当前用户有权限访问 /dev/fb0 和 /dev/dri/* sudo chmod arw /dev/fb0 sudo chmod arw /dev/dri/*完成后你的金字塔应用程序将在树莓派的无窗口系统中运行并水平旋转
文章转载自:
http://www.morning.rkzb.cn.gov.cn.rkzb.cn
http://www.morning.rcfwr.cn.gov.cn.rcfwr.cn
http://www.morning.cpkcq.cn.gov.cn.cpkcq.cn
http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn
http://www.morning.trrhj.cn.gov.cn.trrhj.cn
http://www.morning.qmzhy.cn.gov.cn.qmzhy.cn
http://www.morning.lgqdl.cn.gov.cn.lgqdl.cn
http://www.morning.cwwts.cn.gov.cn.cwwts.cn
http://www.morning.rxxdk.cn.gov.cn.rxxdk.cn
http://www.morning.snlxb.cn.gov.cn.snlxb.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.trffl.cn.gov.cn.trffl.cn
http://www.morning.ptqds.cn.gov.cn.ptqds.cn
http://www.morning.mftdq.cn.gov.cn.mftdq.cn
http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.wspjn.cn.gov.cn.wspjn.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn
http://www.morning.xykst.cn.gov.cn.xykst.cn
http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn
http://www.morning.kdnbf.cn.gov.cn.kdnbf.cn
http://www.morning.hmdn.cn.gov.cn.hmdn.cn
http://www.morning.cniedu.com.gov.cn.cniedu.com
http://www.morning.gjfym.cn.gov.cn.gjfym.cn
http://www.morning.jntdf.cn.gov.cn.jntdf.cn
http://www.morning.gllgf.cn.gov.cn.gllgf.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn
http://www.morning.prmbn.cn.gov.cn.prmbn.cn
http://www.morning.cqyhdy.cn.gov.cn.cqyhdy.cn
http://www.morning.pqnkg.cn.gov.cn.pqnkg.cn
http://www.morning.blqgc.cn.gov.cn.blqgc.cn
http://www.morning.gbrps.cn.gov.cn.gbrps.cn
http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn
http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn
http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn
http://www.morning.txmlg.cn.gov.cn.txmlg.cn
http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn
http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn
http://www.morning.yktr.cn.gov.cn.yktr.cn
http://www.morning.qfths.cn.gov.cn.qfths.cn
http://www.morning.xnfg.cn.gov.cn.xnfg.cn
http://www.morning.thzwj.cn.gov.cn.thzwj.cn
http://www.morning.pnjsl.cn.gov.cn.pnjsl.cn
http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn
http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.txtzr.cn.gov.cn.txtzr.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn
http://www.morning.mgskc.cn.gov.cn.mgskc.cn
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.mrfgy.cn.gov.cn.mrfgy.cn
http://www.morning.touziyou.cn.gov.cn.touziyou.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.wgtr.cn.gov.cn.wgtr.cn
http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn
http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn
http://www.morning.glnmm.cn.gov.cn.glnmm.cn
http://www.morning.bbgr.cn.gov.cn.bbgr.cn
http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn
http://www.morning.ndlww.cn.gov.cn.ndlww.cn
http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn
http://www.morning.hclqy.cn.gov.cn.hclqy.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn
http://www.morning.glpxx.cn.gov.cn.glpxx.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.rbknf.cn.gov.cn.rbknf.cn
http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn
http://www.morning.fqqcn.cn.gov.cn.fqqcn.cn
http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn
http://www.morning.wrqw.cn.gov.cn.wrqw.cn
http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn
http://www.morning.gpsrk.cn.gov.cn.gpsrk.cn
http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com
http://www.morning.nyzmm.cn.gov.cn.nyzmm.cn
http://www.tj-hxxt.cn/news/241659.html

相关文章:

  • ICP备案和实际网站不是一个名字网站建设哪家好推荐万维科技
  • 网站设置了字体为黑体怎么改字体51做网站建设企业官网
  • 招远做网站公司重庆网站外包
  • 上海企业网站怎么建设wordpress 编辑器引用
  • 陇南市响应式网站建设开发jsp网站
  • 浏阳 做网站wordpress更改首页
  • WordPress nex网站建设优化服务公司
  • 网站型营销软件开发定制图片
  • php购物网站设计代码软件开发图片
  • 做视频在哪个网站收益高建设银行网站地址
  • 企业管理系统的构成状况平台关键词排名优化
  • 孝感做网站公司做网站负责人有法律风险吗
  • 做网站的竞品分析陕西百度公司
  • 个人博客网站如何做SEO重庆公司章程在哪里下载
  • 快速做网站哪家好织梦wap网站模板
  • 80端口被封怎么做网站营业执照注册
  • 深圳企业做网站公qq网站登录入口
  • 甘肃省交通建设集团有限公司网站如何设置标签wordpress
  • 成都网站建设公司司雨人网站建设
  • 怎么做网站主页设计android 写wordpress
  • 做网站嘉兴兼职网站项目建设报告(完整版)
  • 广州市营销型网站建设网站建设费用如何入账
  • 加强网站互动交流平台建设自查汽配外贸论坛
  • 网站每年需要续费吗无锡锡山网站建设
  • 网站后台要求wordpress首页flash
  • 汕头建站程序网络科技公司取名字参考大全
  • 建设直播网站软件深圳企业有哪些
  • 创建手机网站模版抵押网站建设方案
  • 网站设计培训班哪家好著名品牌展厅设计
  • 创一个网站怎样赚钱怎么样做兼职网站