logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

LearnOpenGL——光照(三)材质

摘要:本文介绍了在OpenGL中通过材质属性模拟不同物体对光照的反射特性。重点讲解了材质结构体的定义,包含环境光、漫反射、镜面光颜色和反光度四个属性,并通过片段着色器实现了材质系统。同时阐述了光源属性的设置方法,包括调整各光照分量强度以及动态改变光源颜色来创造视觉效果。文中还提供了代码示例,展示了如何通过修改材质和光照参数来模拟现实世界中不同材质的外观。

#材质#图形渲染
LearnOpenGL——入门(五)变换

摘要:本文介绍了向量和矩阵的基本概念及其运算。向量是具有方向和长度的数学对象,可用于表示2D/3D空间中的位置和方向。文章详细讲解了向量的标量运算、取反、加减法、长度计算、标准化以及点乘和叉乘运算。矩阵是矩形数字阵列,支持加减法、数乘和矩阵乘法等运算,其中矩阵乘法需满足特定维度条件。这些数学工具在图形变换和计算中具有重要作用。

#图形渲染
LearnOpenGL——光照(五)投光物

本文介绍了三种不同类型的光源及其实现方法:定向光、点光源和聚光。重点讲解了定向光的模拟原理,通过定义光线方向向量而非位置向量来模拟无限远光源(如太阳)的效果。同时详细阐述了点光源的衰减机制,提出使用包含常数项、一次项和二次项的公式来实现光线随距离递减的效果,并提供了不同距离下的参数参考表。通过调整这些参数,可以模拟出真实世界中光线的自然衰减特性,从而在3D场景中实现更逼真的光照效果。

#图形渲染
LearnOpenGL——模型加载(三)模型

本文介绍了如何使用Assimp库加载3D模型并将其转换为OpenGL可渲染的网格对象。主要内容包括: 创建Model类来管理整个模型,包含多个Mesh对象、模型路径和加载处理函数。 使用Assimp导入器读取模型文件,进行必要的后期处理(如三角化、翻转UV等)。 递归处理场景节点,将每个网格转换为自定义的Mesh对象。 从aiMesh提取顶点数据(位置、法线、纹理坐标)、索引和材质纹理,构建Mes

#图形渲染
到底了