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

建设网站所需材料如何制作wordpress网站地图

建设网站所需材料,如何制作wordpress网站地图,wordpress部署阿里云,网站建设 中OpenGL简介 OpenGL#xff08;Open Graphics Library#xff09;是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像#xff08;二维的亦可#xff09;#xff0c;是一个功能强大#xff0c;调用方便的底层图形库。OpenGL是行业领域中…OpenGL简介 OpenGLOpen Graphics Library是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像二维的亦可是一个功能强大调用方便的底层图形库。OpenGL是行业领域中最为广泛接纳的 2D/3D 图形 API其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。 GLFW简介 GLFWGraphics Library Framework它是一个小型 C 库允许使用 OpenGL 上下文创建和管理窗口从而也可以使用多个监视器和视频模式。它同时提供对键盘、鼠标和操纵杆输入的访问。 GLAD简介 由于OpenGL驱动版本众多大多数函数的位置都无法在编译时确定下来需要在运行时进行查询使得开发过程较为繁琐。GLAD (Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs) 是一个开源的库可以提供一种更为简单的方法加载所有相关的OpenGL函数。 GLM简介 GLMOpenGL Mathematics是专门为OpenGL量身定做的数学库它是一个只有头文件的库可以快速实现矩阵变换等各种图形学中常用的几何计算。 三者的关系 OpenGL定义标准 → 显卡厂商编写驱动 → GLAD提供接口 → GLFW建立窗口 因为我喜欢也习惯了用clion写C所以还是决定配置clion的OpenGL环境 首先下载GLFW和glad这两个库 glad下载  glad.dav1d.de 选择最新的版本 再点这个 下载压缩包 GLFW下载 Download | GLFW 这个可能需要开一下然后下对应电脑适配版本我是Windows64下这个64位的 完事之后打开Clion创建一个新项目就叫OpenGL吧然后建立起三个目录includelibsrc 解压刚刚那两个文件夹把GLFW的include文件夹下的GLFW文件夹放到刚刚Clion项目的新目录include下然后把lib-mingw-w64文件夹下的glfw3.dll复制到新目录lib和目录cmake-build-debug下 把glad的include文件夹下的glad和KHR放到项目目录include下src文件夹下的glad.c放到项目目录src下 然后修改CMakeList.txt除了你的项目名称和cmake版本以及C版本可以不一样其他都需要修改成这个样子 cmake_minimum_required(VERSION 3.23) project(OpenGL)set(CMAKE_CXX_STANDARD 14)add_executable(OpenGL main.cpp src/glad.c) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include) link_directories(${PROJECT_SOURCE_DIR}/lib) target_link_libraries(OpenGL ${PROJECT_SOURCE_DIR}/lib/glfw3.dll) 让gpt写个程序检验一下环境配置因为我还是啥也不会的才寄所以现在只能先让gpt来写一下 #include glad/glad.h #include GLFW/glfw3.h #include iostream// 顶点着色器源码 const char* vertexShaderSource R(#version 330 corelayout (location 0) in vec3 aPos;void main(){gl_Position vec4(aPos.x, aPos.y, aPos.z, 1.0);} );// 片段着色器源码 const char* fragmentShaderSource R(#version 330 coreout vec4 FragColor;void main(){FragColor vec4(1.0f, 0.5f, 0.2f, 1.0f);} );int main() {// 初始化GLFWglfwInit();glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);// 创建一个窗口对象GLFWwindow* window glfwCreateWindow(800, 600, OpenGL, NULL, NULL);if (window NULL){std::cout Failed to create GLFW window std::endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);// 初始化GLADif (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout Failed to initialize GLAD std::endl;return -1;}// 编译顶点着色器unsigned int vertexShader;vertexShader glCreateShader(GL_VERTEX_SHADER);glShaderSource(vertexShader, 1, vertexShaderSource, NULL);glCompileShader(vertexShader);// 编译片段着色器unsigned int fragmentShader;fragmentShader glCreateShader(GL_FRAGMENT_SHADER);glShaderSource(fragmentShader, 1, fragmentShaderSource, NULL);glCompileShader(fragmentShader);// 链接着色器程序unsigned int shaderProgram;shaderProgram glCreateProgram();glAttachShader(shaderProgram, vertexShader);glAttachShader(shaderProgram, fragmentShader);glLinkProgram(shaderProgram);// 删除着色器glDeleteShader(vertexShader);glDeleteShader(fragmentShader);// 设置顶点数据这里我们只绘制一个三角形float vertices[] {0.5f, 0.5f, 0.0f, // 右上角0.5f, -0.5f, 0.0f, // 右下角-0.5f, -0.5f, 0.0f, // 左下角};unsigned int VBO, VAO;glGenVertexArrays(1, VAO);glGenBuffers(1, VBO);glBindVertexArray(VAO);glBindBuffer(GL_ARRAY_BUFFER, VBO);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);glEnableVertexAttribArray(0);// 渲染循环while (!glfwWindowShouldClose(window)){glClear(GL_COLOR_BUFFER_BIT);glUseProgram(shaderProgram);glBindVertexArray(VAO);glDrawArrays(GL_TRIANGLES, 0, 3);glfwSwapBuffers(window);glfwPollEvents();}// 清理资源glDeleteVertexArrays(1, VAO);glDeleteBuffers(1, VBO);glDeleteProgram(shaderProgram);// 终止GLFWglfwTerminate();return 0; }居然可以跑证明我们的clion配置成功了  如果需要的话还可以下载glm Release GLM 0.9.8.0 · g-truc/glm (github.com) 下载后解压把里面的glm文件夹注意是下面这个放到项目的include目录下 再让gpt先生给我们写一个用glad、glm和glfw画画的程序 #include glad/glad.h #include GLFW/glfw3.h #include glm/glm.hpp #include glm/gtc/matrix_transform.hpp #include iostream #include glm/gtc/type_ptr.hpp// 顶点着色器源码 const char* vertexShaderSource R(#version 330 corelayout (location 0) in vec3 aPos;layout (location 1) in vec3 aColor;uniform mat4 model;uniform mat4 view;uniform mat4 projection;out vec3 color;void main(){gl_Position projection * view * model * vec4(aPos, 1.0);color aColor;} );// 片段着色器源码 const char* fragmentShaderSource R(#version 330 corein vec3 color;out vec4 FragColor;void main(){FragColor vec4(color, 1.0);} );int main() {// 初始化GLFWglfwInit();glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);// 创建一个窗口对象GLFWwindow* window glfwCreateWindow(800, 600, OpenGL, NULL, NULL);if (window NULL){std::cout Failed to create GLFW window std::endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);// 初始化GLADif (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout Failed to initialize GLAD std::endl;return -1;}// 编译顶点着色器unsigned int vertexShader;vertexShader glCreateShader(GL_VERTEX_SHADER);glShaderSource(vertexShader, 1, vertexShaderSource, NULL);glCompileShader(vertexShader);// 编译片段着色器unsigned int fragmentShader;fragmentShader glCreateShader(GL_FRAGMENT_SHADER);glShaderSource(fragmentShader, 1, fragmentShaderSource, NULL);glCompileShader(fragmentShader);// 链接着色器程序unsigned int shaderProgram;shaderProgram glCreateProgram();glAttachShader(shaderProgram, vertexShader);glAttachShader(shaderProgram, fragmentShader);glLinkProgram(shaderProgram);// 删除着色器glDeleteShader(vertexShader);glDeleteShader(fragmentShader);// 设置顶点数据这里我们只绘制一个彩色的三角形float vertices[] {0.0f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, // 顶部顶点红色-0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, // 左下角顶点绿色0.5f, -0.5f, 0.0f, 0.0f, 0.0f, 1.0f // 右下角顶点蓝色};unsigned int VBO, VAO;glGenVertexArrays(1, VAO);glGenBuffers(1, VBO);glBindVertexArray(VAO);glBindBuffer(GL_ARRAY_BUFFER, VBO);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);glEnableVertexAttribArray(0);glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float)));glEnableVertexAttribArray(1);// 设置投影矩阵glm::mat4 projection glm::perspective(glm::radians(45.0f), 800.0f / 600.0f, 0.1f, 100.0f);// 渲染循环while (!glfwWindowShouldClose(window)){glClear(GL_COLOR_BUFFER_BIT);glUseProgram(shaderProgram);// 设置视图矩阵glm::mat4 view glm::lookAt(glm::vec3(0.0f, 0.0f, 3.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f));// 设置模型矩阵glm::mat4 model glm::mat4(1.0f);model glm::rotate(model, (float)glfwGetTime(), glm::vec3(0.0f, 1.0f, 0.0f));// 设置着色器uniform变量unsigned int modelLoc glGetUniformLocation(shaderProgram, model);unsigned int viewLoc glGetUniformLocation(shaderProgram, view);unsigned int projectionLoc glGetUniformLocation(shaderProgram, projection);glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));glUniformMatrix4fv(projectionLoc, 1, GL_FALSE, glm::value_ptr(projection));glBindVertexArray(VAO);glDrawArrays(GL_TRIANGLES, 0, 3);glBindVertexArray(0);glfwSwapBuffers(window);glfwPollEvents();}// 清理资源glDeleteVertexArrays(1, VAO);glDeleteBuffers(1, VBO);glDeleteProgram(shaderProgram);// 终止GLFWglfwTerminate();return 0; }多么好看还会转
http://www.pierceye.com/news/795583/

相关文章:

  • 怎么才能自己做网站怎么自己制作app
  • 爱看视频的网站政务公开既网站信息化建设会议
  • 做外单什么网站好网站模板下载之后怎么做
  • 网站维护细则微博同步wordpress
  • 网站微商城的建设新网域名备案
  • 网站举报有奖平台北京vi设计公司怎么样
  • Wix做的网站在国内打不开网站开发专业就业好不好
  • php语言做网站网站流量与带宽
  • 网站推广经验做网站职校选什么专业
  • 搜英文关键词网站凯里seo排名优化
  • 哪个网站可以帮忙做简历培训网网站源码
  • 万宁市住房和城乡建设局网站自助建站加盟
  • 创建一个网站需要什么wordpress 支付 api接口
  • 怎么样做免费网站建筑招工找活平台
  • 虚拟机中做网站家政服家政服务网站模板
  • 佛山企业网站建设流程网站开发 前端如何学习
  • 昆明好的网站开发公司宣传视频
  • 深圳网站设计公司网站建设 地址 上海石门二路
  • 广州大型网站建设公司广元网站建设价格
  • 国外做游戏的视频网站有哪些问题百度官网地址
  • wordpress主题外贸网站基础集团网站建设
  • 现货电子交易平台冬镜seo
  • 怎样进入当地建设局网站用py做网站
  • 做网站标配seoul是什么国家
  • 做网站注册哪些商标做网站建设销售
  • 创建网站有免费的吗大庆网络推广
  • 南昌p2p网站建设公司福州seo关键词排名
  • 导航网站链接怎么做建设网站的费用调研
  • 北京营销型网站定制网站开发 建设叫什么
  • 用ps做企业网站分辨率是多少钱百度竞价是什么