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

重庆住房和城乡建设厅网站首页建设网站必须要配置apache吗

重庆住房和城乡建设厅网站首页,建设网站必须要配置apache吗,沈阳海外模板建站,做网站延期交付了深度测试#xff1a;OpenGL将一个片段的深度值与深度缓冲的内容进行对比。执行一个深度测试#xff0c;测试通过则深度缓冲将会更新为新的深度值。测试失败则片段被丢弃。 深度测试片段着色器及模版测试之后执行。 片段着色器中内置变量gl_FragCoord的z值即为深度值。 提前深…深度测试OpenGL将一个片段的深度值与深度缓冲的内容进行对比。执行一个深度测试测试通过则深度缓冲将会更新为新的深度值。测试失败则片段被丢弃。 深度测试片段着色器及模版测试之后执行。 片段着色器中内置变量gl_FragCoord的z值即为深度值。 提前深度测试允许深度测试在片段着色器之前运行。片段着色器通常开销很大。使用提前深度测试时片段着色器不可写入深度值因为OpenGl不能提前知道深度值。 默认禁用glEnable(GL_DEPTH_TEST);启用 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);清楚上一帧深度缓冲 实际运用的深度缓冲是非线性的 深度冲突两个平面或三角形z值一样两个形状会不断切换前后顺序 防止深度冲突 1.不要把多个物体放的太近导致它们的一些三角形重叠 2.将进平面设置远一些因为精度在靠近进平面时较高。注意进平面太远会导致近处的一些物体被裁减掉 3.牺牲一些性能使用更高精度的深度缓冲。大部分深度缓冲的精度都是24位但现在大部分显卡支持32位 main.cpp #define GLEW_STATIC #include GL/glew.h #include GLFW/glfw3.h #include iostream #include shader.h #include stb_image.h #include glm.hpp #include gtc/matrix_transform.hpp #include gtc/type_ptr.hpp #include Camera.h #include Model.hCamera* myCamera new Camera(glm::vec3(0.0f, 0.0f, 3.0f), glm::vec3(0.0f, 0.0f, -1.0f), glm::vec3(0.0f, 1.0f, 0.0f));void mouse_callback(GLFWwindow* window, double xpos, double ypos) {myCamera-mouseCb(xpos, ypos); };void scroll_callback(GLFWwindow* window, double xoffset, double yoffset) {myCamera-scrollCb(xoffset, yoffset); }GLfloat deltaTime 0.0f; GLfloat lastFrame 0.0f;void processInput(GLFWwindow* window) {GLfloat currentFrame glfwGetTime();deltaTime currentFrame - lastFrame;lastFrame currentFrame;if (glfwGetKey(window, GLFW_KEY_ESCAPE) GLFW_PRESS)glfwSetWindowShouldClose(window, true);if (glfwGetKey(window, GLFW_KEY_W) GLFW_PRESS) {myCamera-pressKeyW(deltaTime);}if (glfwGetKey(window, GLFW_KEY_S) GLFW_PRESS) {myCamera-pressKeyS(deltaTime);}if (glfwGetKey(window, GLFW_KEY_A) GLFW_PRESS) {myCamera-pressKeyA(deltaTime);}if (glfwGetKey(window, GLFW_KEY_D) GLFW_PRESS) {myCamera-pressKeyD(deltaTime);} }glm::vec3 pointLightPositions[] {glm::vec3(2.0f, 10.2f, 2.0f),glm::vec3(-2.3f, 7.3f, -4.0f) };float cubeVertices[] {// positions // texture Coords-0.5f, -0.5f, -0.5f, 0.0f, 0.0f,0.5f, -0.5f, -0.5f, 1.0f, 0.0f,0.5f, 0.5f, -0.5f, 1.0f, 1.0f,0.5f, 0.5f, -0.5f, 1.0f, 1.0f,-0.5f, 0.5f, -0.5f, 0.0f, 1.0f,-0.5f, -0.5f, -0.5f, 0.0f, 0.0f,-0.5f, -0.5f, 0.5f, 0.0f, 0.0f,0.5f, -0.5f, 0.5f, 1.0f, 0.0f,0.5f, 0.5f, 0.5f, 1.0f, 1.0f,0.5f, 0.5f, 0.5f, 1.0f, 1.0f,-0.5f, 0.5f, 0.5f, 0.0f, 1.0f,-0.5f, -0.5f, 0.5f, 0.0f, 0.0f,-0.5f, 0.5f, 0.5f, 1.0f, 0.0f,-0.5f, 0.5f, -0.5f, 1.0f, 1.0f,-0.5f, -0.5f, -0.5f, 0.0f, 1.0f,-0.5f, -0.5f, -0.5f, 0.0f, 1.0f,-0.5f, -0.5f, 0.5f, 0.0f, 0.0f,-0.5f, 0.5f, 0.5f, 1.0f, 0.0f,0.5f, 0.5f, 0.5f, 1.0f, 0.0f,0.5f, 0.5f, -0.5f, 1.0f, 1.0f,0.5f, -0.5f, -0.5f, 0.0f, 1.0f,0.5f, -0.5f, -0.5f, 0.0f, 1.0f,0.5f, -0.5f, 0.5f, 0.0f, 0.0f,0.5f, 0.5f, 0.5f, 1.0f, 0.0f,-0.5f, -0.5f, -0.5f, 0.0f, 1.0f,0.5f, -0.5f, -0.5f, 1.0f, 1.0f,0.5f, -0.5f, 0.5f, 1.0f, 0.0f,0.5f, -0.5f, 0.5f, 1.0f, 0.0f,-0.5f, -0.5f, 0.5f, 0.0f, 0.0f,-0.5f, -0.5f, -0.5f, 0.0f, 1.0f,-0.5f, 0.5f, -0.5f, 0.0f, 1.0f,0.5f, 0.5f, -0.5f, 1.0f, 1.0f,0.5f, 0.5f, 0.5f, 1.0f, 0.0f,0.5f, 0.5f, 0.5f, 1.0f, 0.0f,-0.5f, 0.5f, 0.5f, 0.0f, 0.0f,-0.5f, 0.5f, -0.5f, 0.0f, 1.0f }; float planeVertices[] {// positions // texture Coords (note we set these higher than 1 (together with GL_REPEAT as texture wrapping mode). this will cause the floor texture to repeat)5.0f, -0.5f, 5.0f, 2.0f, 0.0f,-5.0f, -0.5f, 5.0f, 0.0f, 0.0f,-5.0f, -0.5f, -5.0f, 0.0f, 2.0f,5.0f, -0.5f, 5.0f, 2.0f, 0.0f,-5.0f, -0.5f, -5.0f, 0.0f, 2.0f,5.0f, -0.5f, -5.0f, 2.0f, 2.0f };int main() {glfwInit();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, test, nullptr, nullptr);if (window nullptr){std::cout Failed to create GLFW window std::endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);//glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);glfwSetCursorPosCallback(window, mouse_callback);glfwSetScrollCallback(window, scroll_callback);glewExperimental GL_TRUE;if (glewInit() ! GLEW_OK){std::cout Failed to initialize GLEW std::endl;glfwTerminate();return -1;}glViewport(0, 0, 800, 600);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)0);glEnableVertexAttribArray(0);glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));glEnableVertexAttribArray(1);glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat)));glEnableVertexAttribArray(2);glEnableVertexAttribArray(0);glBindVertexArray(0);GLuint cubeVAO, cubeVBO;glGenVertexArrays(1, cubeVAO);glBindVertexArray(cubeVAO);glGenBuffers(1, cubeVBO);glBindBuffer(GL_ARRAY_BUFFER, cubeVBO);glBufferData(GL_ARRAY_BUFFER, sizeof(cubeVertices), cubeVertices, GL_STATIC_DRAW);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)0);glEnableVertexAttribArray(1);glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(3 * sizeof(float)));glBindVertexArray(0);unsigned int planeVAO, planeVBO;glGenVertexArrays(1, planeVAO);glGenBuffers(1, planeVBO);glBindVertexArray(planeVAO);glBindBuffer(GL_ARRAY_BUFFER, planeVBO);glBufferData(GL_ARRAY_BUFFER, sizeof(planeVertices), planeVertices, GL_STATIC_DRAW);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)0);glEnableVertexAttribArray(1);glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(3 * sizeof(float)));glBindVertexArray(0);GLuint tex;glGenTextures(1, tex);int width, height, nrComponents;unsigned char* image stbi_load(container.jpg, width, height, nrComponents, 0);if (image) {GLenum format;if (nrComponents 1)format GL_RED;else if (nrComponents 3)format GL_RGB;else if (nrComponents 4)format GL_RGBA;glBindTexture(GL_TEXTURE_2D, tex);glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, format, GL_UNSIGNED_BYTE, image);glGenerateMipmap(GL_TEXTURE_2D);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);stbi_image_free(image);}glm::mat4 model;glm::mat4 view;glm::mat4 projection;glEnable(GL_DEPTH_TEST);//深度测试函数glDepthFunc(GL_LESS);/** GL_ALWAYS 永远通过深度测试* GL_NEVER 永远不通过深度测试* GL_LESS 在片段深度值小于缓冲的深度值时通过测试* GL_EQUAL 在片段深度值等于缓冲区的深度值时通过测试* GL_LEQUAL 在片段深度值小于等于缓冲区的深度值时通过测试* GL_GREATER 在片段深度值大于缓冲区的深度值时通过测试* GL_NOTEQUAL 在片段深度值不等于缓冲区的深度值时通过测试* GL_GEQUAL 在片段深度值大于等于缓冲区的深度值时通过测试*/Shader* testShader new Shader(test.vert, test.frag);Shader* lightShader new Shader(test.vert, light.frag);while (!glfwWindowShouldClose(window)){processInput(window);glfwPollEvents();glClearColor(0.1f, 0.1f, 0.1f, 1.0f);glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);testShader-Use();glUniform1i(glGetUniformLocation(testShader-getProgram(), texture1), 0);glBindVertexArray(cubeVAO);glActiveTexture(GL_TEXTURE0);glBindTexture(GL_TEXTURE_2D, tex);view myCamera-getViewMat4();glUniformMatrix4fv(glGetUniformLocation(testShader-getProgram(), view), 1, GL_FALSE, glm::value_ptr(view));projection glm::perspective(glm::radians(myCamera-getFov()), 800.0f / 600.0f, 0.1f, 100.0f);glUniformMatrix4fv(glGetUniformLocation(testShader-getProgram(), projection), 1, GL_FALSE, glm::value_ptr(projection));model glm::translate(model, glm::vec3(-1.0f, 0.0f, -1.0f));glUniformMatrix4fv(glGetUniformLocation(testShader-getProgram(), model), 1, GL_FALSE, glm::value_ptr(model));glDrawArrays(GL_TRIANGLES, 0, 36);model glm::mat4(1.0f);model glm::translate(model, glm::vec3(2.0f, 0.0f, 0.0f));glUniformMatrix4fv(glGetUniformLocation(testShader-getProgram(), model), 1, GL_FALSE, glm::value_ptr(model));glDrawArrays(GL_TRIANGLES, 0, 36);glBindVertexArray(planeVAO);glUniformMatrix4fv(glGetUniformLocation(testShader-getProgram(), model), 1, GL_FALSE, glm::value_ptr(glm::mat4(1.0f)));glDrawArrays(GL_TRIANGLES, 0, 6);glBindVertexArray(0);glfwSwapBuffers(window);}glfwTerminate();return 0; }顶点着色器 #version 330 core layout (location 0) in vec3 aPos; layout (location 1) in vec2 aTexCoords;out vec2 TexCoords;uniform mat4 model; uniform mat4 view; uniform mat4 projection;void main() {TexCoords aTexCoords; gl_Position projection * view * model * vec4(aPos, 1.0); }片段着色器 #version 330 core out vec4 FragColor;in vec2 TexCoords;uniform sampler2D texture1;float near 0.1; float far 100.0; float LinearizeDepth(float depth) {float z depth * 2.0 - 1.0; // back to NDC [0,1]变换到[-1,1]标准化设备坐标/裁剪空间return (2.0 * near * far) / (far near - z * (far - near)); }void main() { FragColor texture(texture1, TexCoords);//FragColor vec4(vec3(gl_FragCoord.z), 1.0);//float depth LinearizeDepth(gl_FragCoord.z) / far; // 为了演示除以 far//FragColor vec4(vec3(depth), 1.0); }
文章转载自:
http://www.morning.gqmhq.cn.gov.cn.gqmhq.cn
http://www.morning.jfxth.cn.gov.cn.jfxth.cn
http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn
http://www.morning.stsnf.cn.gov.cn.stsnf.cn
http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn
http://www.morning.npbkx.cn.gov.cn.npbkx.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn
http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn
http://www.morning.jhswp.cn.gov.cn.jhswp.cn
http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn
http://www.morning.rkbly.cn.gov.cn.rkbly.cn
http://www.morning.ktfnj.cn.gov.cn.ktfnj.cn
http://www.morning.qrlsy.cn.gov.cn.qrlsy.cn
http://www.morning.gynkr.cn.gov.cn.gynkr.cn
http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn
http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn
http://www.morning.srgyj.cn.gov.cn.srgyj.cn
http://www.morning.gstmn.cn.gov.cn.gstmn.cn
http://www.morning.bpyps.cn.gov.cn.bpyps.cn
http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn
http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn
http://www.morning.tbstj.cn.gov.cn.tbstj.cn
http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.tldhq.cn.gov.cn.tldhq.cn
http://www.morning.rhdqz.cn.gov.cn.rhdqz.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn
http://www.morning.rrqbm.cn.gov.cn.rrqbm.cn
http://www.morning.fcrw.cn.gov.cn.fcrw.cn
http://www.morning.ldwxj.cn.gov.cn.ldwxj.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.xinxianzhi005.com.gov.cn.xinxianzhi005.com
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn
http://www.morning.sqnxk.cn.gov.cn.sqnxk.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.gqcsd.cn.gov.cn.gqcsd.cn
http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn
http://www.morning.lsxabc.com.gov.cn.lsxabc.com
http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn
http://www.morning.lqypx.cn.gov.cn.lqypx.cn
http://www.morning.byxs.cn.gov.cn.byxs.cn
http://www.morning.skrxp.cn.gov.cn.skrxp.cn
http://www.morning.cwgn.cn.gov.cn.cwgn.cn
http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn
http://www.morning.gmjkn.cn.gov.cn.gmjkn.cn
http://www.morning.przc.cn.gov.cn.przc.cn
http://www.morning.pmysp.cn.gov.cn.pmysp.cn
http://www.morning.gywfp.cn.gov.cn.gywfp.cn
http://www.morning.fdrch.cn.gov.cn.fdrch.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.ngpdk.cn.gov.cn.ngpdk.cn
http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn
http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn
http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn
http://www.morning.kqgqy.cn.gov.cn.kqgqy.cn
http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn
http://www.morning.xczyj.cn.gov.cn.xczyj.cn
http://www.morning.dgknl.cn.gov.cn.dgknl.cn
http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn
http://www.morning.junmap.com.gov.cn.junmap.com
http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn
http://www.morning.spfq.cn.gov.cn.spfq.cn
http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn
http://www.morning.kljhr.cn.gov.cn.kljhr.cn
http://www.morning.bxch.cn.gov.cn.bxch.cn
http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn
http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn
http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn
http://www.morning.knnc.cn.gov.cn.knnc.cn
http://www.morning.bwmq.cn.gov.cn.bwmq.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.mkccd.cn.gov.cn.mkccd.cn
http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn
http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn
http://www.morning.zcwzl.cn.gov.cn.zcwzl.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.tj-hxxt.cn/news/263294.html

相关文章:

  • 深圳公司有哪些优化
  • 凡科建站官网入口wordpress+主题课堂
  • 沈阳定制网站方案做母亲节网站的素材
  • 网站如何自己做优化自助建站系统免费加盟
  • 动漫做美食的视频网站网站建设云主机云服务器
  • 西安技术网站建设搭建网站基本步骤
  • 网站开发完成如何上线公司注册资金实缴新政策出台2024
  • 网站平台建设可行性模仿一个网站建设多少钱
  • 网站专题方案网站建设的流程ppt
  • 英雄联盟网站设计购物盒子WordPress支付插件
  • 建设银行理财产品网站做视频网站的方法
  • 饲料 东莞网站建设网站如何做用户的实名认证
  • 小说网站开发环境那个号做网站虚拟主机怎么选择
  • 洛阳专业做网站公司神马推广登录
  • 大良营销网站建设价位丹阳网站建设机构
  • 丝绸之路网站建设懂得做网站还可以做什么兼职
  • 建设网站需要什么设施食品库存管理软件
  • 2008建立的php网站慢十堰做网站的
  • 网站后台管理破解大连中国建筑装饰网
  • 医疗网站建设新闻做网站推广需要花多少钱
  • 电子商务网站开发步骤包装盒网站模板下载
  • 网站开发英文参考文献郑州抖音seo推广
  • 石家庄网站推广专业android studio手机版
  • 网站建设 兼职 外包百度描述 网站
  • 网页制作工具的选择与网站整体风格网站建设者属于广告经营者吗
  • 太原建站模板网络营销方案的制定思路
  • 企业网站建站源码黄埔移动网站建设
  • 九江建网站的公司单位做网站支出应怎么核算
  • wordpress编辑主页seo托管服务
  • 济南行知网网站建设37玩手游官网平台