【发布时间】:2018-03-13 18:40:36
【问题描述】:
我尝试在一个四边形上统一平铺纹理坐标以进行一些调试。
在桌面上没有问题,但在 android(旧平板电脑)上,我发现纹理坐标不一致(下面的图片链接显示了结果)。
当我们从 0.0,0.0 到 1.0,1.0 时,纹理坐标不断变得不一致。
不一致性随着平铺值的增加而增加,图像中的结果为 60,160。
我的设备的安卓版本是 5.0,GPU 支持 opengl es 2.0 而不是 3.0。
所以我想知道为什么在我的平板电脑上而不是在我的台式机上发生这种情况,希望了解有关导致它的 gpu 中发生的事情的信息。
我使用的着色器-
Shader "Unlit/uvdisplay"
{
Properties
{
}
SubShader
{
Tags { "RenderType"="Opaque" }
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = fixed4(frac(i.uv*fixed2(60.0,160.0)),0.0,1.0);
return col;
}
ENDCG
}
}
}
【问题讨论】:
标签: android unity3d graphics opengl-es