ios - 如何创建基于对象的渐变着色器,而不是纹理或面?
问题描述
我想要一个基于整个对象而不是它的面或纹理的渐变。我想要第一张图像,而不是第二张每张脸都有单独渐变的图像。
我在材质上使用 SceneKit 和一个简单的着色器。如果我使用 Y 的_surface.position;
结果会根据视图发生变化。无论它在视图/相机中的哪个位置,我都希望它在对象上。如何获得几何的 Y 值?还是有其他方法?
这就是我获得对象渐变的方式,但是当相机移动时它会移动(参见与第一张图像相比的最后一张图像)
vec3 p = _surface.position;
_surface.diffuse = vec4(0.5,p.y,0.5,1);
另一种是基于vec2 uv = _surface.diffuseTexcoord; 但只是每张脸。
vec2 uv = _surface.diffuseTexcoord;
_surface.diffuse = vec4(0.5,uv.y,0.5,1);
谢谢
解决方案
推荐阅读
- php - owl-carousel 自动滑块不工作
- r - 如何创建具有两个新类别的新列?
- java - 谷歌搜索栏中已安装应用的建议
- jquery - 在注入用户时绕过 Ember 验证并使用 jquery val 传递
- date - PowerBI 月末
- python - 如何使用 python boto3 更改 Route 53 中记录集的名称?
- ssl - 如何将 Kubernetes Nginx Ingress 与 Consul 和 Consul Connect 集成
- php - 通过 .htaccess 添加过期标头后,Codeigniter 购物车无法正常工作
- mysql - 2列之间的关系
- chatbot - engati : 获取按钮点击值