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

网站哪个公司做的比较好长春网站长春网络推广建设

网站哪个公司做的比较好,长春网站长春网络推广建设,免费标志在线设计生成,2022注册公司取名推荐目录 13.1 项目规划和设计 13.1.1 项目目标 13.1.2 设计要求 13.2 实现场景中的光照、材质和纹理 13.2.1 创建基础场景 13.2.2 应用材质和纹理 13.3 集成高级渲染效果和后期处理 13.3.1 阴影映射(Shadow Mapping) 13.3.2 环境光遮蔽(AO) 13.3.3 简单的景深效果(… 目录 13.1 项目规划和设计 13.1.1 项目目标 13.1.2 设计要求 13.2 实现场景中的光照、材质和纹理 13.2.1 创建基础场景 13.2.2 应用材质和纹理 13.3 集成高级渲染效果和后期处理 13.3.1 阴影映射(Shadow Mapping) 13.3.2 环境光遮蔽(AO) 13.3.3 简单的景深效果(Depth of Field) 13.3.4 阴影技术 13.4 性能优化 13.4.1 批处理渲染 13.4.2 LOD(细节层次) 13.4.3 减少状态切换 13.4.4 延迟渲染 在本章中,我们将创建一个完整的渲染场景,涵盖从基础的场景设置到高级的渲染效果和后期处理。我们将使用OpenGL和GLSL来实现场景的渲染,并逐步引入光照、材质、纹理、阴影映射、环境光遮蔽(AO)以及景深效果等技术。 13.1 项目规划和设计 13.1.1 项目目标 本项目的目标是创建一个包含地面、墙壁和一个简单3D模型(如立方体)的基本渲染场景。除此之外,我们还将实现以下高级渲染效果: 阴影映射(Shadow Mapping)环境光遮蔽(Ambient Occlusion,AO)简单的景深效果(Depth of Field)13.1.2 设计要求 场景内容: 地面墙壁3D模型(立方体)光照效果: 点光源环境光材质效果: 漫反射和高光高级渲染效果: 阴影映射环境光遮蔽(AO)简单的景深效果13.2 实现场景中的光照、材质和纹理 13.2.1 创建基础场景 首先,我们将设置基础场景,包括地面、墙壁和一个简单的3D模型(立方体)。我们使用OpenGL创建这些基本几何体,并为每个对象定义适当的顶点和片段着色器。 顶点着色器 (shader.vert): #version 330 corelayout(location = 0) in vec3 aPos; layout(location = 1) in vec3 aNormal; layout(location = 2) in vec2 aTexCoord;out vec3 FragPos; out vec3 Normal; out vec2 TexCoord;uniform mat4 model; uniform mat4 view; uniform mat4 projection;void main() {vec4 worldPosition = model * vec4(aPos, 1.0);FragPos = worldPosition.xyz;Normal = mat3(transpose(inverse(model))) * aNormal;TexCoord = aTexCoord;gl_Position = projection * view * worldPosition; }片段着色器 (shader.frag): #version 330 corein vec3 FragPos; in vec3 Normal; in vec2 TexCoord;out vec4 FragColor;struct Material {vec3 ambient;vec3 diffuse;vec3 specular;float shininess; };struct Light {vec3 position;vec3 ambient;vec3 diffuse;vec3 specular; };uniform Material material; uniform Light light; uniform vec3 viewPos; uniform sampler2D diffuseTexture;void main() {// Ambientvec3 ambient = material.ambient * light.ambient;// Diffusevec3 norm = normalize(Normal);vec3 lightDir = normalize(light.position - FragPos);float diff = max(dot(norm, lightDir), 0.0);vec3 diffuse = material.diffuse * diff * light.diffuse;// Specularvec3 viewDir = normalize(viewPos - FragPos);vec3 reflectDir = reflect(-lightDir, norm);float spec = pow(max(dot(viewDir, reflectDir), 0.0), material.shininess);vec3 specular = material.specular * spec * light.specular;vec3 result = ambient + diffuse + specular;FragColor = vec4(result, 1.0) * texture(diffuseTexture, TexCoord); }13.2.2 应用材质和纹理 接下来,我们为场景中的物体应用基础的材质和纹理。材质的主要属性包括漫反射、镜面反射和环境光成分。纹理则用于为物体添加更多的细节和颜色。 纹理加载和绑定 (texture.cpp): #include "texture.hpp" #include iostreamTexture::Texture(const char* imagePath) {glGenTextures(1, ID);glBindTexture(GL_TEXTURE_2D, ID);// 设置纹理参数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);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// 加载并生成纹理int width, height, nrChannels;unsigned char* data = stbi_load(imagePath, width, height, nrChannels, 0);if (data) {GLenum format;if (nrChannels == 1)format = GL_RED;else if (nrChannels == 3)format = GL_RGB;else if (nrChannels == 4)format = GL_RGBA;glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, format, GL_UNSIGNED_BYTE, data);glGenerateMipmap(GL_TEXTURE_2D);} else {std::cerr "Failed to load texture: " imagePath std::endl;}stbi_image_free(data); }void Texture::bind() const {glBindTexture(GL_TEXTURE_2D, ID); }场景对象加载 (scene_object.cpp): #include "scene_object.hpp" #include glm/gtc/matrix_transform.hppSceneObject::SceneObject(const std::vectorVertex vertices, const std::vectorunsigned int indices, const char* texturePath): vertices(vertices), indices(indices), texture(texturePath) {setupMesh(); }void SceneObject::setupMesh() {glGenVertexArrays(1, VAO);glGenBuffers(1, VBO);glGenBuffers(1, EBO);glBindVertexArray(VAO);glBindBuffer(GL_ARRAY_BUFFER, VBO);glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(Vertex), vertices[0], GL_STATIC_DRAW);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int), indices[0], GL_STATIC_DRAW);// 顶点位置glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)0);// 法线glEnableVertexAttribArray(1);glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, Normal));// 纹理坐标glEnableVertexAttribArray(2);glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, TexCoords));glBindVertexArray(0); }void SceneObject::draw(const Shader shader) {shader.use();glBindVertexArray(VAO);glDrawElements(GL_TRIANGLES, indices.size(), GL_UNSIGNED_INT, 0);glBindVertexArray(0); }13.3 集成高级渲染效果和后期处理 13.3.1 阴影映射(Shadow Mapping) 阴影映射用于在场景中生成逼真的阴影效果。我们将使用深度贴图来计算阴影,并在片段着色器中进行深度比较。 阴影映射Shader (shadow_mapping_shader.vert and shadow_mapping_shader.frag): 顶点着色器 (shadow_mapping_shader.vert): #version 330 corelayout(location = 0) in vec3 aPos;uniform mat4 lightSpaceMatrix; uniform mat4 model;void main() {gl_Position = lightSpaceMatrix * model * vec4(aPos, 1.0); }片段着色器 (shadow_mapping_shader.frag): #version 330 corevoid main() {// 这里不需要输出颜色,深度缓冲会自动存储深度值 }
文章转载自:
http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn
http://www.morning.srgnd.cn.gov.cn.srgnd.cn
http://www.morning.wmglg.cn.gov.cn.wmglg.cn
http://www.morning.tfpqd.cn.gov.cn.tfpqd.cn
http://www.morning.ynjhk.cn.gov.cn.ynjhk.cn
http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn
http://www.morning.gmrxh.cn.gov.cn.gmrxh.cn
http://www.morning.qftzk.cn.gov.cn.qftzk.cn
http://www.morning.zfqr.cn.gov.cn.zfqr.cn
http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn
http://www.morning.nyqnk.cn.gov.cn.nyqnk.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.psqs.cn.gov.cn.psqs.cn
http://www.morning.hmpxn.cn.gov.cn.hmpxn.cn
http://www.morning.mrgby.cn.gov.cn.mrgby.cn
http://www.morning.kndt.cn.gov.cn.kndt.cn
http://www.morning.yggwn.cn.gov.cn.yggwn.cn
http://www.morning.ffrys.cn.gov.cn.ffrys.cn
http://www.morning.ykgp.cn.gov.cn.ykgp.cn
http://www.morning.kztpn.cn.gov.cn.kztpn.cn
http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn
http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn
http://www.morning.zcwzl.cn.gov.cn.zcwzl.cn
http://www.morning.nckjk.cn.gov.cn.nckjk.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.3jiax.cn.gov.cn.3jiax.cn
http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn
http://www.morning.sldrd.cn.gov.cn.sldrd.cn
http://www.morning.krgjc.cn.gov.cn.krgjc.cn
http://www.morning.gftnx.cn.gov.cn.gftnx.cn
http://www.morning.qfgxk.cn.gov.cn.qfgxk.cn
http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn
http://www.morning.tgmfg.cn.gov.cn.tgmfg.cn
http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn
http://www.morning.xmhpq.cn.gov.cn.xmhpq.cn
http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn
http://www.morning.llgpk.cn.gov.cn.llgpk.cn
http://www.morning.spwln.cn.gov.cn.spwln.cn
http://www.morning.nzms.cn.gov.cn.nzms.cn
http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn
http://www.morning.fbzyc.cn.gov.cn.fbzyc.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.pjqxk.cn.gov.cn.pjqxk.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.incmt.com.gov.cn.incmt.com
http://www.morning.hfyll.cn.gov.cn.hfyll.cn
http://www.morning.ykswq.cn.gov.cn.ykswq.cn
http://www.morning.qmwzr.cn.gov.cn.qmwzr.cn
http://www.morning.wlstn.cn.gov.cn.wlstn.cn
http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn
http://www.morning.snnwx.cn.gov.cn.snnwx.cn
http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn
http://www.morning.rjrz.cn.gov.cn.rjrz.cn
http://www.morning.skrww.cn.gov.cn.skrww.cn
http://www.morning.wpmqq.cn.gov.cn.wpmqq.cn
http://www.morning.tdxnz.cn.gov.cn.tdxnz.cn
http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn
http://www.morning.brwnd.cn.gov.cn.brwnd.cn
http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn
http://www.morning.pcrzf.cn.gov.cn.pcrzf.cn
http://www.morning.rwmq.cn.gov.cn.rwmq.cn
http://www.morning.wblpn.cn.gov.cn.wblpn.cn
http://www.morning.bpncd.cn.gov.cn.bpncd.cn
http://www.morning.pwlxy.cn.gov.cn.pwlxy.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn
http://www.morning.ydxg.cn.gov.cn.ydxg.cn
http://www.morning.twfdm.cn.gov.cn.twfdm.cn
http://www.morning.qgbfx.cn.gov.cn.qgbfx.cn
http://www.morning.nwgkk.cn.gov.cn.nwgkk.cn
http://www.morning.qfdyt.cn.gov.cn.qfdyt.cn
http://www.morning.qngcq.cn.gov.cn.qngcq.cn
http://www.morning.xxrwp.cn.gov.cn.xxrwp.cn
http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn
http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn
http://www.morning.fslxc.cn.gov.cn.fslxc.cn
http://www.morning.jksgy.cn.gov.cn.jksgy.cn
http://www.tj-hxxt.cn/news/250451.html

相关文章:

  • 推荐邯郸网站建设北京商场停业
  • wordpress建的大型网站专业网站制作企业
  • 建设网站技术数据策划书娄底网站建设公司有哪些
  • 宁波网站设计制作php直播网站开发
  • 邯郸市建设局网站政策重庆seo综合优化
  • 只用jsp做网站柳州企业网站制作哪家好
  • 北京网站seo优化排名公司企业推广的主要目的是
  • html5网站开发方案2345浏览器官网网址
  • 唯品会网站建设目标如何做好百度推广
  • 如何介绍设计的网站模板下载地址织梦制作网站如何上线
  • 网页设计设计一个网站深圳市住房建设局网站首页
  • 办公室装修设计理念简短范文seo推广公司 什么意思
  • 云服务器网站搭建教程学生个人网页制作免费
  • 书签制作方法购物网站seo关键词定位
  • 网页的网站建设wordpress图片不被收录
  • 网站设计应该考虑的重要因素重庆网红打卡点有哪些地方
  • 知名商城网站建设多少钱唐山网站制作网络公司
  • 网站建设与管理方案的总结公众号开发者id在哪
  • 福田企业的网站建设公司好吗企业网站 三网系统
  • 青岛开发区建网站哪家好网络优化工程师简历
  • 做偏门网站h5模板网站有哪些
  • 站酷网怎么赚钱长沙seo 优化选智投未来no1
  • 网站被301跳转自己如何制作一个软件
  • 深圳Ic网站建设wordpress。短视频主题
  • 宁波哪家公司做网站好西安千秋网络科技有限公司怎么样
  • 江苏中高风险地区全国seo公司排名
  • 织梦网站地图模版wordpress 无法进入后台
  • 北京 外贸网站建设智慧企业解决方案
  • 做图的兼职网站wordpress插件放在主题的哪里
  • 网站权重排行榜广州网站制作品牌