my-room-in-3d中的电脑,电视,桌面光带发光原理

1. my-room-in-3d中的电脑,电视,桌面光带发光原理

最近在github中,看到了这样的一个项目;
项目地址

我看到的时候,蛮好奇他这个光带时怎么做的。

最后发现,他是通过,加载一个 lightMap.jpg 这个纹理来实现的

好,我们来看看这个纹理和普通纹理有什么区别

我们会发现,这个高光纹理,他的颜色就三种颜色,分别是:r(红色), g(绿色), b(蓝色)

这样的一个三元色,
那他为什么要这么做呢?

最后我们发现,他这么做的原因,是因为他这样可以获取到,需要高光处的片源的的位置信息。说白了,就是获取位置,这个纹理的效果,就是想打了个标记,可以告诉我们,此处的片源是需要高光的,需要特殊颜色的,需要特殊处理

知道了这些,这个高光效果就很简单了

glsl 复制代码
uniform sampler2D lightMapTexture;

void main() {
    vec3 bakeDayColor = vec3(1.0, 1.0, 0.0); // 假设,这个是原本的颜色
    vec3 lightMapColor = texture2D(lightMapTexture, vUv).rgb; // 这个就是那个纹理的颜色
    vec3 macCoor = vec(0.5,0.3,0.65); // 假设这个是,Mac 电脑背后光的颜色
    float lightStrength = lightMapColor.r * 5.0; // 这里为什么是 lightMapColor.r 呢?这个要看lightMapTexture 这个纹理,在电脑处他是什么颜色的,我们此时假设他是 red的,那么就是 lightMapColor.r了
  
  // 关键的来了
 bakeDayColor = mix(bakeDayColor, macColor, lightStrength);
  gl_FragColor = vec4(bakedColor, 1.0);
	
}

这个就是最核心的代码。

相关推荐
大江东去浪淘尽千古风流人物19 小时前
【UniSim-SLAM】前馈SLAM的双流架构:Sim(3)统一位姿图、与经典SLAM及DPVO的三范式对比
深度学习·计算机视觉·3d·交互·人体姿态估计·eccv·3d重建
高升说3 天前
手眼 3D 相机选型:先定工作距离,再谈精度,最后定安装
人工智能·数码相机·3d
利刃大大3 天前
我用 GPT-6 给江南大学建了个 3D 沙盘
gpt·3d·ai·blender·江南大学
不要生病了4 天前
从脑电到彩色三维点云:Neuro-3D 精读与证据边界
3d
时空节拍AI数字人4 天前
AI 数字人为什么需要“3D”?2D 不够用吗
人工智能·网络协议·tcp/ip·3d·信息可视化
Zldaisy3d4 天前
以光束整形3D打印,探索陶瓷-铜功能件的一体化制造
3d·制造
LeapMay4 天前
中国科学院深圳先进技术研究院-深圳职业技术大学联合培养博士后招聘(具身智能/多模态感知/视觉检测方向)
人工智能·计算机视觉·3d·机器人
tsqtsqtsq03094 天前
3DGS 端侧重建:基于 Spatial Recon Kit 的全面实践指南
3d
小溪学编程5 天前
3ds Max 2025 全面指南:新特性、安装与实战入门
3d
兜里只有三分钱~5 天前
翻卡_3D 的仪式感,和三个让它穿帮的写法
javascript·css·3d