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

有专门做ppt的网站有哪些做网站的所有代码

有专门做ppt的网站有哪些,做网站的所有代码,网站添加js广告位,wordpress 头部 固定前面的学习中并未涉及到颜色#xff0c;现在打算写一个例子#xff0c;在顶点着色器和片元着色器中加入颜色#xff0c;绘制有颜色的三角形。 #include glad/glad.h//glad必须在glfw头文件之前包含 #include GLFW/glfw3.h #include iostreamvoid …前面的学习中并未涉及到颜色现在打算写一个例子在顶点着色器和片元着色器中加入颜色绘制有颜色的三角形。 #include glad/glad.h//glad必须在glfw头文件之前包含 #include GLFW/glfw3.h #include iostreamvoid frameBufferSizeCallbakc(GLFWwindow* window, int width, int height) {glViewport(0, 0, width, height); } void glfwKeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) { }GLuint program 0; GLuint vao 0; void prepareVAO() {//positionsfloat positions[] {-0.5f, -0.5f, 0.0f,0.5f, -0.5f, 0.0f,0.0f, 0.5f, 0.0f,};//颜色float colors[] {1.0f, 0.0f,0.0f,0.0f, 1.0f,0.0f,0.0f, 0.0f,1.0f};//索引unsigned int indices[] {0, 1, 2,};//2 VBO创建GLuint posVbo 0;GLuint colorVbo 0;glGenBuffers(1, posVbo);glBindBuffer(GL_ARRAY_BUFFER, posVbo);glBufferData(GL_ARRAY_BUFFER, sizeof(positions), positions, GL_STATIC_DRAW);glGenBuffers(1, colorVbo);glBindBuffer(GL_ARRAY_BUFFER, colorVbo);glBufferData(GL_ARRAY_BUFFER, sizeof(colors), colors, GL_STATIC_DRAW);//3 EBO创建GLuint ebo 0;glGenBuffers(1, ebo);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);//4 VAO创建vao 0;glGenVertexArrays(1, vao);glBindVertexArray(vao);//5 绑定vbo ebo 加入属性描述信息//5.1 加入位置属性描述信息glBindBuffer(GL_ARRAY_BUFFER, posVbo);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);//5.2 加入颜色属性描述信息glBindBuffer(GL_ARRAY_BUFFER, colorVbo);glEnableVertexAttribArray(1);glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);//5.2 加入ebo到当前的vaoglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBindVertexArray(0); } void prepareShader() {//1 完成vs与fs的源代码并且装入字符串const char* vertexShaderSource #version 330 core\nlayout (location 0) in vec3 aPos;\nlayout (location 1) in vec3 aColor;\nout vec3 color;\nvoid main()\n{\n gl_Position vec4(aPos.x, aPos.y, aPos.z, 1.0);\n color aColor;\n}\0;const char* fragmentShaderSource #version 330 core\nout vec4 FragColor;\nin vec3 color;\nvoid main()\n{\n FragColor vec4(color, 1.0f);\n}\n\0;//2 创建Shader程序vs、fsGLuint vertex, fragment;vertex glCreateShader(GL_VERTEX_SHADER);fragment glCreateShader(GL_FRAGMENT_SHADER);//3 为shader程序输入shader代码glShaderSource(vertex, 1, vertexShaderSource, NULL);glShaderSource(fragment, 1, fragmentShaderSource, NULL);int success 0;char infoLog[1024];//4 执行shader代码编译 glCompileShader(vertex);//检查vertex编译结果glGetShaderiv(vertex, GL_COMPILE_STATUS, success);if (!success) {glGetShaderInfoLog(vertex, 1024, NULL, infoLog);std::cout Error: SHADER COMPILE ERROR --VERTEX \n infoLog std::endl;}glCompileShader(fragment);//检查fragment编译结果glGetShaderiv(fragment, GL_COMPILE_STATUS, success);if (!success) {glGetShaderInfoLog(fragment, 1024, NULL, infoLog);std::cout Error: SHADER COMPILE ERROR --FRAGMENT \n infoLog std::endl;}//5 创建一个Program壳子program glCreateProgram();//6 将vs与fs编译好的结果放到program这个壳子里glAttachShader(program, vertex);glAttachShader(program, fragment);//7 执行program的链接操作形成最终可执行shader程序glLinkProgram(program);//检查链接错误glGetProgramiv(program, GL_LINK_STATUS, success);if (!success) {glGetProgramInfoLog(program, 1024, NULL, infoLog);std::cout Error: SHADER LINK ERROR \n infoLog std::endl;}//清理glDeleteShader(vertex);glDeleteShader(fragment); }void render() {//执行opengl画布清理操作glClear(GL_COLOR_BUFFER_BIT);//1.绑定当前的programglUseProgram(program);//2 绑定当前的vaoglBindVertexArray(vao);//3 发出绘制指令//glDrawArrays(GL_TRIANGLE_STRIP, 0, 6);glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, 0); }int main() {//初始化glfw环境glfwInit();//设置opengl主版本号glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//设置opengl次版本号glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//设置opengl启用核心模式glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//创建窗体对象GLFWwindow* window glfwCreateWindow(800, 600, lenarnOpenGL, nullptr, nullptr);//设置当前窗体对象为opengl的绘制舞台glfwMakeContextCurrent(window);//窗体大小回调glfwSetFramebufferSizeCallback(window, frameBufferSizeCallbakc);//键盘相应回调glfwSetKeyCallback(window, glfwKeyCallback);//使用glad加载所有当前版本opengl的函数if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout 初始化glad失败 std::endl;return -1;};//设置opengl视口大小和清理颜色glViewport(0, 0, 800, 600);glClearColor(0.2f, 0.3f, 0.3f, 1.0f);//着色器prepareShader();//vaoprepareVAO();//执行窗体循环while (!glfwWindowShouldClose(window)){//接受并分发窗体消息//检查消息队列是否有需要处理的鼠标、键盘等消息//如果有的话就将消息批量处理清空队列glfwPollEvents();//渲染操作render();//切换双缓存glfwSwapBuffers(window);}//推出程序前做相关清理glfwTerminate();return 0; }在程序中我们只给了顶点颜色分别为红绿蓝三角形中其他部分像素颜色是通过插值得来的。
http://www.dnsts.com.cn/news/203057.html

相关文章:

  • 多图片网站优化网页设计在哪里做
  • 网站域名变了能查吗棋牌源码搭建论坛
  • 上海紫昌网站建设淘宝网网站建设目的
  • 镇江网站制作价格如何计算wordpress 页面静态化
  • 在哪里能找到建网站中国企业排名前十名
  • 网站上线流程 配合人员私人网站制作 个人使用
  • 网站建设项目表站嗨免费建站系统
  • 本地常州网站建设如何实现wordpress怎文章id连续
  • 寻找做项目的网站阐述网站建设的步骤过程
  • 网站标题可以修改吗赫山区住房和城乡建设局网站
  • 襄樊门户网站建设河北省建设项目环境官网网站
  • 重庆网站设计开发培训学校如何在本单位网站上做链接
  • 吉木萨尔县建设局网站赣州网络公司电话
  • 网站建设询价函基于php mysql的网站开发
  • 个人网站没人访问微官网和微网站
  • 杭州手机网站建设公司wordpress apache内存
  • 个人商城网站备案西安学校网站建设费用
  • js特效网站模板产品设计公司
  • 网站建设方案书一定要交聊城手机网站服务
  • 清河网站建设电话免费怎样搭建网站
  • 网站建设的网络公建立网站需要多少人
  • 广西南宁网站公司开发一套网站系统 多少钱
  • 公司做网站好吗wordpress中文主题免费下载
  • 公司网站的定义wordpress 无限嵌套
  • 手工制作国庆节作品图片单页seo如何优化
  • 整网站代码 带数据 免费 下载网站建设相关专业
  • 广州专业建网站公司惠州企业网站建设选哪家
  • 网站左下角广告代码企业网站搭建多少钱
  • 代理公司注册网站用插件做网站
  • 在网站留外链怎么做镇江网站建设镇江