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

qnx 上screen + egl + opengles 最简实例

文章目录

  • 前言
  • 一、qnx 上的窗口系统——screen
  • 二、screen + egl + opengles 最简实例
    • 1.使用 addvariant 命令创建工程目录
    • 2. 添加源码文件
    • 3. common.mk 文件
    • 4. 编译与执行
  • 总结
  • 参考资料


前言

本文主要介绍如何在QNX 系统上使用egl和opengles 控制GPU渲染一个三角形并显示到屏幕上,是一个最基础的screen + egl + opengles 使用实例
软件环境:
qnx7.1
opengles2.0
egl1.4


一、qnx 上的窗口系统——screen

linux 上有wayland/weston 窗口系统,而 screen 就是 qnx 上的窗口系统,qnx screen 相关的介绍可以查看 screen 官方文档, 而在screen 上如何使用opengles 来渲染,则可以查看 screen opengles rending API
主要的几个步骤如下图所示:
在这里插入图片描述
显示框架如下图所示:
在这里插入图片描述

二、screen + egl + opengles 最简实例

1.使用 addvariant 命令创建工程目录

执行 addvariant -i OS nto aarch64 o.le 命令生成工程目录和相关文件,如下图所示
在这里插入图片描述

2. 添加源码文件

在工程根目录下添加 opengles_screen.copengles_screen.use 文件后,工程目录结构如下图所示
在这里插入图片描述
其中 opengles_screen.c (源码文件)内容如下

#include <stdio.h>
#include <screen/screen.h>
#include <EGL/egl.h>
#include <GLES2/gl2.h>// 顶点着色器
const char* vertexShaderSource ="attribute vec4 position;\n""void main() {\n""   gl_Position = position;\n""}\n";// 片段着色器
const char* fragmentShaderSource ="void main() {\n""   gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n""}\n";int main()
{// Create a Screen contextscreen_context_t screen_ctx;screen_create_context(&screen_ctx, SCREEN_APPLICATION_CONTEXT);//Create a render targetscreen_window_t screen_win;screen_create_window(&screen_win, screen_ctx);int usage, format;int interval = 1;in
http://www.lryc.cn/news/285292.html

相关文章:

  • python基础学习-02
  • 服务调用Ribbon,LoadBalance,Feign
  • 一条sql是如何运行的
  • SystemC学习笔记(三) - 查看模块的波形
  • 计算机网络(第六版)复习提纲5
  • JavaScript 学习笔记(WEB APIs Day3)
  • Springboot自动装配:三个注解、Selector、spring.factories文件、@ConditionalOnProperty注解
  • 软件工程应用题汇总
  • P1789 【Mc生存】插火把(C语言)
  • 计算机网络(第六版)复习提纲6
  • 安卓平板局域网内远程控制工控机方法
  • pinctrl子系统简介
  • 基于51单片机的温度报警控制系统Protues仿真设计
  • 多级缓存
  • 【已解决】如何用typedef简化函数指针
  • UI网站汇总
  • PLC-IoT 网关开发札记(5):将本地数据库作为资产打包发布到 App
  • 固态硬盘优化设置
  • SpringBoot跨域问题解决
  • FindMy技术与相机结合
  • Windows WSL2 占用磁盘空间清理释放
  • 2022 年全国职业院校技能大赛高职组云计算赛项试卷部分解析
  • 2.C语言——控制语句
  • Linux网络之PXE高效批量装机、Kickstart全自动化安装
  • react umi/max 页签(react-activation)
  • 计算机网络编程
  • 【计算机网络实训】期末考题-路由重分发+三层交换机VLAN间路由
  • git 常规操作及设置
  • element中表格组件的row-class-name和class-name属性的使用以及无效处理
  • 【AI理论知识】EM算法