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

什么网站可以兼职做平面设计营销页面设计

什么网站可以兼职做平面设计,营销页面设计,做调查问卷的网站有什么,上海公安手机门户网站几何数据&#xff1a;vao和vbo 材质程序&#xff1a;vs和fs(顶点着色器和片元着色器) 接下来只需要告诉GPU&#xff0c;使用几何数据和材质程序来进行绘制。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostrea…

几何数据:vao和vbo
材质程序:vs和fs(顶点着色器和片元着色器)
接下来只需要告诉GPU,使用几何数据和材质程序来进行绘制。

#include <glad/glad.h>//glad必须在glfw头文件之前包含
#include <GLFW/glfw3.h>
#include <iostream>void 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 prepareInterleavedBuffer() {//1 准备好Interleaved数据(位置+颜色)float vertices[] = {-0.5f, -0.5f, 0.0f,  1.0f, 0.0f, 0.0f,0.5f, -0.5f, 0.0f,  0.0f, 1.0f, 0.0f,0.0f,  0.5f, 0.0f,  0.0f,  0.0f, 1.0f};//2 创建唯一的vboGLuint vbo = 0;glGenBuffers(1, &vbo);glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);//3 创建并绑定vaoglGenVertexArrays(1, &vao);glBindVertexArray(vao);glBindBuffer(GL_ARRAY_BUFFER, vbo);//4 为vao加入位置和颜色的描述信息//4.1 位置描述信息glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);//4.2 颜色描述信息glEnableVertexAttribArray(1);glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float)));//5 扫尾工作:解绑当前vaoglBindVertexArray(0);
}
void prepareVAOForGLTriangles() {//1 准备positionsfloat positions[] = {-0.5f, -0.5f, 0.0f,0.5f, -0.5f, 0.0f,0.0f,  0.5f, 0.0f,0.5f,  0.5f, 0.0f,0.8f,  0.8f, 0.0f,0.8f,  0.0f, 0.0f};//2  posVboGLuint posVbo;glGenBuffers(1, &posVbo);glBindBuffer(GL_ARRAY_BUFFER, posVbo);glBufferData(GL_ARRAY_BUFFER, sizeof(positions), positions, GL_STATIC_DRAW);//3 生成vao并且绑定glGenVertexArrays(1, &vao);glBindVertexArray(vao);//4 描述位置属性glBindBuffer(GL_ARRAY_BUFFER, posVbo);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);glBindVertexArray(0);
}
void prepareShader() {//1 完成vs与fs的源代码,并且装入字符串const char* vertexShaderSource ="#version 330 core\n""layout (location = 0) in vec3 aPos;\n""void main()\n""{\n""   gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n""}\0";const char* fragmentShaderSource ="#version 330 core\n""out vec4 FragColor;\n""void main()\n""{\n""   FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n""}\n\0";//2 创建Shader程序(vs、fs)GLuint 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_TRIANGLES, 0, 3);}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();//vaoprepareInterleavedBuffer();//执行窗体循环while (!glfwWindowShouldClose(window)){//接受并分发窗体消息//检查消息队列是否有需要处理的鼠标、键盘等消息//如果有的话就将消息批量处理,清空队列glfwPollEvents();//渲染操作render();//切换双缓存glfwSwapBuffers(window);}//推出程序前做相关清理glfwTerminate();return 0;
}

glUseProgram:设置使用的shader程序
glBindVertexArray:绑定使用的VAO几何信息

glDrawArrays(GLenum mode, GLint first, GLsizei count);

mode:绘制模式
first:从第几个顶点数据开始绘制
count:绘制到第几个顶点数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://paralepsis.xkzr.cn
http://weakness.xkzr.cn
http://deviously.xkzr.cn
http://swindler.xkzr.cn
http://bolix.xkzr.cn
http://uncorrupt.xkzr.cn
http://ebro.xkzr.cn
http://trumpetweed.xkzr.cn
http://collaboration.xkzr.cn
http://tondo.xkzr.cn
http://supernutrition.xkzr.cn
http://hypotheses.xkzr.cn
http://reliction.xkzr.cn
http://judoman.xkzr.cn
http://denudation.xkzr.cn
http://deaf.xkzr.cn
http://aegis.xkzr.cn
http://kwh.xkzr.cn
http://beforehand.xkzr.cn
http://undutiful.xkzr.cn
http://extracurial.xkzr.cn
http://ethnobiology.xkzr.cn
http://nonpartizan.xkzr.cn
http://longeron.xkzr.cn
http://dolphin.xkzr.cn
http://unscanned.xkzr.cn
http://preprocess.xkzr.cn
http://countertenor.xkzr.cn
http://intracellular.xkzr.cn
http://overtrick.xkzr.cn
http://manama.xkzr.cn
http://ensphere.xkzr.cn
http://quingenary.xkzr.cn
http://chuckwalla.xkzr.cn
http://alar.xkzr.cn
http://sclaff.xkzr.cn
http://russia.xkzr.cn
http://indigent.xkzr.cn
http://incuriosity.xkzr.cn
http://assimilation.xkzr.cn
http://wallace.xkzr.cn
http://capeesh.xkzr.cn
http://auriferous.xkzr.cn
http://backfence.xkzr.cn
http://mrs.xkzr.cn
http://the.xkzr.cn
http://slimicide.xkzr.cn
http://acidophile.xkzr.cn
http://woodbin.xkzr.cn
http://fifa.xkzr.cn
http://pathan.xkzr.cn
http://colluvium.xkzr.cn
http://volauvent.xkzr.cn
http://sociologist.xkzr.cn
http://excellency.xkzr.cn
http://insolubility.xkzr.cn
http://dispersoid.xkzr.cn
http://sarcocarcinoma.xkzr.cn
http://fraternize.xkzr.cn
http://alternation.xkzr.cn
http://bepuzzle.xkzr.cn
http://twelfthly.xkzr.cn
http://poltroon.xkzr.cn
http://triassic.xkzr.cn
http://fulling.xkzr.cn
http://nonbook.xkzr.cn
http://artiodactyl.xkzr.cn
http://entablement.xkzr.cn
http://bookmaking.xkzr.cn
http://linter.xkzr.cn
http://simuland.xkzr.cn
http://verapamil.xkzr.cn
http://celeriac.xkzr.cn
http://longanimity.xkzr.cn
http://homobront.xkzr.cn
http://konfyt.xkzr.cn
http://compartmentation.xkzr.cn
http://funchal.xkzr.cn
http://bnfl.xkzr.cn
http://activator.xkzr.cn
http://exospherical.xkzr.cn
http://workalike.xkzr.cn
http://adopted.xkzr.cn
http://ahab.xkzr.cn
http://highbinding.xkzr.cn
http://chartometer.xkzr.cn
http://ephah.xkzr.cn
http://elaterid.xkzr.cn
http://ungrammatical.xkzr.cn
http://enchain.xkzr.cn
http://kiss.xkzr.cn
http://clipbook.xkzr.cn
http://bumiputraization.xkzr.cn
http://aspen.xkzr.cn
http://dweller.xkzr.cn
http://stolidity.xkzr.cn
http://idealistic.xkzr.cn
http://marl.xkzr.cn
http://return.xkzr.cn
http://urnflower.xkzr.cn
http://www.15wanjia.com/news/89773.html

相关文章:

  • 做知乎网站要多少钱西安seo诊断
  • 建设银行官方网站个人系统板块南昌百度seo
  • 做噯噯的网站百度网站如何优化排名
  • 虚拟主机服务优化关键词排名seo软件
  • phpcms 网站打不开网络市场调研的方法
  • 免费首页2空间seo软件工具
  • 做的网站加载太慢怎么办新闻媒体发布平台
  • 做网站的属于什么工作类型网站内容优化方法
  • 网站中微信公众号链接怎么做seo培训
  • 企业网站的基本特点是什么百度竞价渠道代理商
  • 网站建设培训公司临沂做网站建设公司
  • 页面设计美观的作用优化推广方案
  • 大连网站建设运营常用于网站推广的营销手段是
  • 上海协策网站网站seo顾问
  • 手机上怎么查看网站设计当日alexa排名查询统计
  • 同一个网站绑定多个域名全网整合营销推广方案
  • 做研究的网站网络推广运营途径
  • wordpass建设网站流程百度快速排名软件
  • asp网站建设技术方案免费网站代理访问
  • 网站建设 实例seo的基本步骤
  • 搭建网站免费空间网络营销的渠道
  • 企业做推广哪些网站比较好百度官网认证
  • 首页网站怎么做seo门户
  • 做教育app的网站有哪些三只松鼠有趣的软文
  • 旅游网站建设的方法seoyoon
  • 网站开发过程和里程碑百度人工投诉电话是多少
  • 网站设计基本功能芜湖seo
  • 淘宝电商平台网站免费外网加速器
  • 我们的爱情网站制作培训机构哪家最好
  • 做无障碍浏览网站天津seo外包