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

OpenGL笔记之光照原理一漫反射

物体颜色的本质是吸收光能后释放出去的百分比。物体对光的吸收power light * cos(a) a是光线反方向和像素点法线的夹角物体对光的漫反射powerOut power* objectColor法线差值三角形光栅化时候会根据三个顶点的法线值对三角形中间像素的影响权重来加权得到中间像素的法线值。#version 460 core out vec4 FragColor; in vec2 uv; in vec3 normal; uniform sampler2D sampler; //漫反射光源参数 uniform vec3 lightDirection;//平行光方向 uniform vec3 lightColor; //平行光强度 void main() { //1 获取物体的当前像素的颜色 vec3 objectColor texture(sampler, uv).xyz; //2 准备diffuse漫反射相关的各类数据 vec3 normalN normalize(normal); vec3 lightDirN normalize(lightDirection); float diffuse clamp(dot(-lightDirN, normalN), 0.0,1.0); // diffuse表示有多少光被吸收 objectColor表示有多少光被反射 vec3 finalColor lightColor * diffuse * objectColor; FragColor vec4(finalColor, 1.0); }
http://www.gsyq.cn/news/1386998.html

相关文章:

  • 【Linux 系列·第 02 篇】操作系统原理:进程·内存·文件系统·I/O——Linux 怎么工作
  • Maven高级—分模块设计与开发、继承、聚合和私服
  • 从‘虚轴’到‘实轴’:深入解读汇川Inoproshop中CIA402轴的两种工作模式与应用场景
  • Spine动画在Unity里卡顿?性能优化实战:从Draw Call、材质实例化到网格合并
  • 给OpenGL学完就忘的你:用Unity Shader重温渲染管线,打通任督二脉
  • ARM SPE技术:硬件级性能分析与优化实践
  • TVA视觉智能体专栏(五):2026工业视觉行业复盘:低端调参彻底内卷,TVA智能体成工程师高薪破局核心
  • 没有银弹,从来就没有
  • Redis分布式锁进阶第十六篇
  • 教育科技产品集成AI批改功能时如何通过Taotoken保障服务稳定性
  • ARM调试与复位机制详解及实践技巧
  • LMD优化器:低精度训练与MXFP6格式的突破
  • FlashAttention与长视频理解:60分钟视频的单轮推理
  • 贪吃蛇游戏 模拟实现
  • 01华夏之光永存:马斯克火星窗口期与轨道运算问题全链条解决方案
  • 告别拖拽式布局:用IntelliJ IDEA + SceneBuilder 8.5.0高效构建JavaFX桌面应用界面
  • 为什么你的灰度总在凌晨2点崩?DeepSeek 2023全年137次灰度数据揭示:3类配置漂移占比达68.3%
  • Unity动画师必看:用Parent Constraint替代父子关系,轻松实现多目标跟随(附C#动态绑定代码)
  • Unity URP程序化材质与立方体纹理实战指南
  • 用Python+skimage搞定图像纹理分析:从GLCM六种特征到实战代码避坑
  • 用XGBoost和SHAP搞定多分类预测:一份Python 3.7下的实战避坑指南
  • 星盘接口开发文档:星座语料接口指南
  • ARM内存映射与定时器架构解析
  • 经颅超声刺激(TUS)技术原理与PlanTUS系统应用指南
  • 用Python手搓SMO算法:从SVM理论到sklearn源码级复现(附避坑指南)
  • STM32单片机学习(28) —— STM32的SPI外设
  • DeepSeek代码质量评估实战手册:7步完成从混沌到可度量的质变跃迁
  • STM32单片机学习(27) —— SPI相关概念
  • 从安防监控到在线视频:聊聊Chrome对H265‘又爱又恨’的硬解策略与我们的日常影响
  • sudo高频指令【20260525】001篇