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

新闻类网站排版网站建设月夜影视在线观看免费完整版韩剧

新闻类网站排版网站建设,月夜影视在线观看免费完整版韩剧,建设网站企业,网站加背景音乐文章目录 前言一、获取 glm 库文件二、使用环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照效果的3d 立方体1. egl_wayland_light.cpp2. Matrix.h 和 Matrix.cpp3. xdg-shell-client-protocol.h 和 xdg-shell-protocol.c4. 编译5. 运行总结参考资料前言 本文主要介绍如何… 文章目录 前言一、获取 glm 库文件二、使用环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照效果的3d 立方体1. egl_wayland_light.cpp2. Matrix.h 和 Matrix.cpp3. xdg-shell-client-protocol.h 和 xdg-shell-protocol.c4. 编译5. 运行 总结参考资料 前言 本文主要介绍如何使用 wayland(xdg_wm_base) + egl + opengles3.0 绘制一个使用冯氏光照模型(Phong Lighting Model)的绕Y轴旋转的正方体,主要涉及环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照,使用一个固定位置和颜色的光源。 软硬件环境: 硬件:PC 软件:ubuntu22.04 egl1.4 opengles3.0 weston9.0 一、获取 glm 库文件 glm是一个C++数学库,用于进行OpenGL开发时常用的数学计算,例如向量、矩阵、四元数等。它提供了许多方便的函数和工具,可以简化在OpenGL程序中进行数学计算的过程。在使用 glm之前,您需要包含适当的 glm 头文件(glm 库就是一个头文件,没有.so库)。获取 glm 相关的头文件,有以下两种方式: ubuntu 上安装 glm 库 具体的安装过程,可以查看《opengles 顶点坐标变换常用的矩阵(九)》 这篇文章从 github 获取 直接从 glm github 仓库地址 下载即可二、使用环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照效果的3d 立方体 1. egl_wayland_light.cpp egl_wayland_light.cpp 代码如下 #include wayland-client.h #include wayland-server.h #include wayland-egl.h #include EGL/egl.h #include GLES3/gl3.h #include stdio.h #include stdlib.h #include string.h #include "xdg-shell-client-protocol.h" #include "Matrix.h"#include glm/vec3.hpp // glm::vec3 #include glm/vec4.hpp // glm::vec4 #include glm/gtc/type_ptr.hpp#define WIDTH 800 #define HEIGHT 600struct wl_display *display = NULL; struct wl_compositor *compositor = NULL; struct xdg_wm_base *wm_base = NULL; struct wl_registry *registry = NULL;//opengles global varGLuint projectionLocation; GLuint modelLocation; GLuint viewLocation; GLuint simpleCubeProgram;float projectionMatrix[16]; float modelMatrix[16]; float viewMatrix[16]; float angleX = 30.0f; float angleY = 0.0f; float angleZ = 0.0f;struct window {struct wl_surface *surface;struct xdg_surface *xdg_surface;struct xdg_toplevel *xdg_toplevel;struct wl_egl_window *egl_window; };// Light parameters glm::vec3 lightPos(0.0f, 3.0f, 0.0f); // 建立一个在立方体正上方的光源(Y轴正方向上位置为3.0处) glm::vec3 lightColor(1.0f, 1.0f, 1.0f); //光源颜色为白色//viewPos parameters glm::vec3 viewPos(0.0f, 0.0f, 3.0f);// Object parameters glm::vec3 objectColor(1.0f, 0.0f, 0.0f);static void xdg_wm_base_ping(void *data, struct xdg_wm_base *shell, uint32_t serial) {xdg_wm_base_pong(shell, serial); }/*for xdg_wm_base listener*/ static const struct xdg_wm_base_listener wm_base_listener = {xdg_wm_base_ping, };/*for registry listener*/ static void registry_add_object(void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version) {if (!strcmp(interface, "wl_compositor")) {compositor = (struct wl_compositor *)wl_registry_bind(registry, name, wl_compositor_interface, 1);} else if (strcmp(interface, "xdg_wm_base") == 0) {wm_base = (struct xdg_wm_base *)wl_registry_bind(registry, name,xdg_wm_base_interface, 1);xdg_wm_base_add_listener(wm_base, wm_base_listener, NULL);} }void registry_remove_object(void *data, struct wl_registry *registry, uint32_t name) {}static struct wl_registry_listener registry_listener = {registry_add_object, registry_remove_object};static void handle_surface_configure(void *data, struct xdg_surface *surface,uint32_t serial) {//struct window *window = data;xdg_surface_ack_configure(surface, serial);//window-wait_for_configure = false; }static const struct xdg_surface_listener xdg_surface_listener = {handle_surface_configure };static void handle_toplevel_configure(void *data, struct xdg_toplevel *toplevel,int32_t width, int32_t height,struct wl_array *states) { }static void handle_toplevel_close(void *data, struct xdg_toplevel *xdg_toplevel) { }static const struct xdg_toplevel_listener xdg_toplevel_listener = {handle_toplevel_configure,handle_toplevel_close, };bool initWaylandConnection() { if ((display = wl_display_connect(NULL)) == NULL){printf
http://www.zqtcl.cn/news/271195/

相关文章:

  • 企业网站模板设计外网vp(永久免费)加速器下载
  • 消费者联盟网站怎么做中山网站建设案例
  • 郑州市多商家网站制作公司网站建设要学多少课程
  • 现在网站开发模式淄博网站建设设计公司
  • 瑶海合肥网站建设东莞网站优化多少钱
  • pc蛋蛋游戏体验网站建设大型门户网站建设效果好吗
  • 昆明网站建设制作汽车之家官网网页版入口
  • 诸城建设局网站免费的创建个人网站
  • 网站建设工作下步打算上海搬家公司电话查询
  • 如何将自己做的网站推广出去大型网站方案
  • 深圳做网站排名哪家好贵阳景观设计公司
  • 做图片网站中英网站搭建报价表
  • 酒类网站该怎么做网站建设协议
  • 怎么打帮人 做网站开发的广告双语言网站模版
  • 企业网站建设的实验报告广告公司网站建设方案
  • 安徽茶叶商城网站建设贵阳市花溪区建设局网站
  • 广西网站建设制作推广普通话倡议书
  • 最新网站建设的模板下载小制作作文400字
  • 海南省城乡建设部网站首页央视新闻
  • 高端白酒品牌有哪些网站怎么做才能得到更好的优化
  • 北京安慧桥网站建设青之峰做网站
  • 免费制作网站的平台推广网站多少钱
  • 怎么增加网站的收录量广西建设厅网站地址
  • flash网站方案料神wordpress建站教程
  • 杭州 企业 建网站蚌埠网站优化
  • 网站建设的分类黄骅港最新招聘
  • 门户网站建设和检务公开自查搜索引擎排名优化价格
  • 湘阴网站建设如何建立自己的网站
  • 国外的ps网站网页源代码翻译器
  • 六安马昌友优化营商环境 助推高质量发展