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);
	
}

这个就是最核心的代码。

相关推荐
云飞云共享云桌面1 天前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
LONGZETECH1 天前
无人机仿真教学软件选型实战:5 个硬核技术维度,避开实训建设踩坑
3d·无人机·交互·cocos2d
装不满的克莱因瓶1 天前
了解3D卷积原理——从空间感知到时空建模的深度学习核心算子
人工智能·pytorch·python·深度学习·机器学习·3d·ai
雪的季节1 天前
Qt Graphs 2D+3D介绍
qt·3d
CG_MAGIC2 天前
3ds Max材质编辑器:精简模式与Slate模式对比
3d·编辑器·材质·贴图·uv·建模教程
装不满的克莱因瓶2 天前
掌握3D CNN模型结构——从时空特征建模到视频理解与医学影像核心架构
人工智能·pytorch·python·深度学习·神经网络·3d·cnn
AniShort2 天前
AniShort携3D世界+3D导演台王炸组合AI短剧协作平台亮相2026横店AI短剧大会 近亿元融资赋能短剧工业化
人工智能·microsoft·3d
似水流年wxk2 天前
cocos3.8,动态擦除3d效果,橡皮擦功能
3d
云飞云共享云桌面2 天前
集中算力・统一数据・高效协同:SolidWorks 云桌面方案详解
运维·服务器·人工智能·安全·3d·电脑·制造
私人珍藏库2 天前
[Android] 三维山水全景地图-3D地形全景观测地图
android·3d·app·工具·软件·多功能