logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

OpenGL shader开发实战学习笔记:第十章 法线贴图

我们如果想要在盾牌上实现凹凸感,应该如何做?一种方法是添加更多的顶点来建模更多的细节,但是网格的顶点越多,渲染网格所需的顶点着色器计算就越多,网格占用的内存就越多。大多数游戏不能仅仅因为凹凸和刮痕而为每个物体添加数千个顶点。因此,我们用法线贴图来解决这个问题。法线贴图是使用一张纹理来存储法线信息,然后通过纹理采样来得到法线信息,最后将法线信息应用到物体上。法线贴图是在每一个像素中存储归一化的向量而

文章图片
#学习#贴图#着色器 +1
C++ gtest单元测试

早期发现问题:在软件开发的早期阶段发现潜在的问题和错误,避免后续开发过程中的不必要的麻烦。提高代码质量:有助于提高代码质量,减少bug,增强代码可维护性。提高开发效率:支持重构和修改,提高开发效率。

文章图片
#c++#单元测试
C++ 正则表达式简介

当你需要在字符串中包含)"// 结果: World "with" ) special chars\在这个例子中,hello是我们选择的分隔符,确保它可以正确地包围我们的字符串内容而不引起解析错误。

文章图片
#c++#正则表达式#开发语言
OpenGL shader开发实战学习笔记:第十一章 立方体贴图和天空盒

立方体贴图(Cube Map)是一种纹理,它由六个纹理图像组成,每个纹理图像对应一个方向。这些方向通常是立方体的六个面,分别是“前面”,“后面”,“右面”,“左面”,“上面”,“下面”。

文章图片
#学习#贴图#着色器 +1
OpenGL shader开发实战学习笔记:第七章 第一个3D项目

ofMesh类是一个三维网格类,用于存储顶点和面信息。ofMesh类提供了load方法来加载ply文件。load方法的参数是ply文件的路径。透视投影是一种常见的投影方式,它可以将3D场景映射到2D屏幕上。透视投影可以将远处的物体缩小,而近处的物体放大,从而产生近大远小的效果。实际项目中,我们通常会使用3D建模软件(如Blender)来创建3D模型,然后导出成3D模型文件。ply格式是一种文本格式

文章图片
#学习#3d#着色器
OpenGL shader开发实战学习笔记:第六章 摄像机和坐标系

视图矩阵(View Matrix)是一个用于将世界坐标系中的物体转换到摄像机视角的矩阵。它定义了摄像机的位置、方向和朝向,从而决定了场景中物体在摄像机视角下的显示方式。

文章图片
#学习#着色器
OpenGLshader开发实战学习笔记:第三章 使用纹理

纹理本质上是一个图像,它可以是二维的(2D纹理)、三维的(3D纹理),甚至是立方体映射(Cube Map)。在渲染时,纹理会被“贴”到物体表面,从而让物体呈现出各种外观,比如木头、石头、金属等材质的质感。在三维网格上使用的纹理通常看起来不像它们最终要使用的对象。

文章图片
#学习
OpenGLshader开发实战学习笔记:第二章 第一个着色器

OpenGLshader开发实战学习笔记:第二章 第一个着色器。

文章图片
#学习#着色器
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 10.增强表面细节(二)法线贴图

因此,在着色器中计算切线向量时,需要使用一些技巧来保证切线向量与顶点法线垂直。TBN空间(Tangent Space)是法线贴图中的一个关键概念,它由三个相互垂直的向量构成:切线(Tangent)、副切线(Bitangent)和法线(Normal)。实际中,切线向量通常由模型数据提供,例如顶点法线、顶点切线等。可以在顶点着色器中计算TBN矩阵,并在片段着色器中应用它,也可以在片段着色器中计算TBN

文章图片
#c++#学习#贴图 +1
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 05.纹理贴图

在定义顶点坐标时,同时定义纹理坐标,即每个顶点除了有(x,y,z)坐标外,还有(u,v)纹理坐标。这种方式参见第4章 定义顶点坐标同时定义顶点颜色的示例顶点坐标和纹理坐标分开定义,此种方式容易理解,在配置时也比较灵活,本节代码使用此种方式// 生成 VAO// 绑定 VAO// 生成 VBO// 绑定 VBO// 将顶点数据传递到 VBO// 绑定 VBO// 设置顶点属性指针:坐标// 启用顶点

文章图片
#c++#学习#3d +2
    共 13 条
  • 1
  • 2
  • 请选择