纹理投影测试

对于不规则的几何体的纹理坐标, 差不多都是通过投影来算的吧

冒似有个"球状纹理"投影到一个物体上, 就像CubeMap

还有一种"圆柱形纹理", 对物体一圈进行投影

GPU Gems3里有个不规则地形(X,Y,Z三个方向上都有面), 这时就没法简单地用X,Z坐标来计算UV了

对于基于高度图的地形来说, 如果Y方向很高的话, 纹理会有明显的拉伸现象

这时就可以换个方向进行投影, 用于制作悬崖之类的复杂地形

  1. float4x4 matViewProjection;  
  2. float scaler;  
  3. struct VS_INPUT   
  4. {  
  5.    float4 Position : POSITION0;  
  6.    float3 Normal   : NORMAL0;  
  7. };  
  8. struct VS_OUTPUT   
  9. {  
  10.    float4 Position : POSITION0;  
  11.    float2 Texcoord : TEXCOORD0;  
  12. };  
  13. float2 GetCliffUV(float3 pos, float3 normal)  
  14. {  
  15. if (abs(normal.x) < abs(normal.z))  
  16.    {  
  17. return float2(pos.x, pos.y);  
  18.    }  
  19. else
  20.    {  
  21. return float2(pos.z, pos.y);  
  22.    }  
  23. }  
  24. VS_OUTPUT vs_main( VS_INPUT Input )  
  25. {  
  26.    VS_OUTPUT Output;  
  27.    Output.Position = mul( Input.Position, matViewProjection );  
  28.    Output.Texcoord = GetCliffUV(Input.Position, Input.Normal) * scaler;  
  29. return( Output );  
  30. }  

不过有个接缝问题该怎么处理呢?

用两层进行过渡吗?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏追不上乌龟的兔子

[LeetCode Weekly Contest 88]849. 到最近的人的最大距离

4633
来自专栏刘望舒

算法(一)时间复杂度

前言 算法很重要,但是一般情况下做移动开发并不经常用到,所以很多同学早就将算法打了个大礼包送还给了老师了,况且很多同学并没有学习过算法。这个系列就让对算法头疼的...

1948
来自专栏用户画像

剑指offer 连续子数组的最大和

HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候...

1181
来自专栏肖力涛的专栏

NLP 点滴 :文本相似度 (上)

在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性。

2K1
来自专栏ACM算法日常

丘比特的箭(点是否在面内)- HDU 1756

对于点A是否在多边形P内的判定, 一般有两种方法:射线法和转角法。 这里介绍一下射线法。

662
来自专栏利炳根的专栏

学习笔记DL001 : 数学符号、深度学习的概念

深度学习是机器学习拉出的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。本文主要介绍深度学习中的数学符号、数和数组。

5160
来自专栏AI2ML人工智能to机器学习

决策树会有哪些特性?

决策树(Decision Tree)是机器学习中最常见的算法, 因为决策树的结果简单,容易理解, 因此应用超级广泛, 但是机器学习的专家们在设计决策树的时候会考...

1322
来自专栏互联网大杂烩

Python 异常值分析

异常值分析是检验数据是否有录入错误以及含有不合常理的数据。忽视异常值的存在是十分危险的,不加剔除地把异常值包括进数据的计算分析过程中,对结果会产生不良影响;重视...

1742
来自专栏黄成甲

数据分析之数据处理

数据处理是根据数据分析目的,将收集到的数据,用适当的处理方法进行加工、整理,形成适合数据分析的要求样式,它是数据分析前必不可少的工作,并且在整个数据分析工作量中...

1952
来自专栏专知

手把手教你构建ResNet残差网络

1.7K2

扫码关注云+社区

领取腾讯云代金券