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

THREE.JS法线Shader

以普通情况而论
在这里插入图片描述
在这里插入图片描述

	vNormal =  normal;//...gl_FragColor = vec4(  vNormal, 1. );

在这里插入图片描述

	vNormal =  normal;//...gl_FragColor = vec4( normalize( vNormal ) * 0.5 + 0.5, 1. );

在这里插入图片描述

	vNormal = normalMatrix * normal;//...gl_FragColor = vec4( normalize( vNormal ) * 0.5 + 0.5, 1. );

normalMatrix threejs会自动传递至uniform
在这里插入图片描述

在这里插入图片描述

import * as THREE from "three";export class NormalShaderMaterial extends THREE.ShaderMaterial {constructor(params?: ConstructorParameters<typeof THREE.ShaderMaterial>[0]) {super({uniforms: {},vertexShader: /* glsl */ `varying vec3 vNormal;void main() {vNormal = normalMatrix * normal;vec4 modelViewPosition = modelViewMatrix * vec4(position, 1.0);gl_Position = projectionMatrix * modelViewPosition;}`,fragmentShader: /* glsl */ `varying vec3 vNormal;               void main() {gl_FragColor = vec4( normalize( vNormal ) * 0.5 + 0.5, 1. );}`,});}
}

http://www.mrgr.cn/news/37587.html

相关文章:

  • 为什么优秀的工厂更重视生产现场
  • en造数据结构与算法C# 之 二叉排序树的增/查
  • 视觉分析在垃圾检测中的应用
  • c#中字符串处理的技巧集合
  • IGZO基底无电容DRAM单元前景看好
  • 视频生成模型哪家强?豆包可灵通义海螺全面评测【AI评测】
  • 复现 BEVfusion bug集合(4090d)
  • 实例讲解电动汽车故障限功限速控制策略及Simulink建模方法
  • RuoYi-Vue实现后台管理系统去掉首页/默认跳转动态路由第一个路由
  • 鸿蒙OS开发之动画相关示例分享, 关于弹出倒计时动画的实战案例源码分享
  • 网通产品硬件设计工程师:汽车蓝牙收发器用网络隔离变压器有哪些选择呢?
  • 2025台球展,2025河南台球及配套设施展览会3月举办
  • 【10月 EI会议推荐】电子信息技术、人工智能、智能制造、计算机技术等方向会议推荐
  • 一些写论文必须要知道的神仙级网站!芝士AI(paperzz)
  • 2024下半年软考准考证打印什么时候打印?
  • 分页查询的优化
  • Linux云计算 |【第四阶段】RDBMS1-DAY2
  • P3376 【模板】网络最大流(EK算法)
  • 实战生成式(Generative)AI
  • 基于Python大数据可视化的短视频推荐系统