是什么造成了这些文物?

时间:2016-04-12 03:56:36

标签: three.js webgl

我正在尝试将3D纹理映射到体素地形,纹理中的像素颜色应该与地形几何对齐,我不想要任何渐变。

它有点工作,但根据相机角度,我可以看到人工制品,我想知道是什么导致了这个以及如何解决它。

是什么出血?我已经尝试改变我的纹理,如下所述: ogr3d tilemap但没有成功。

我认为这不是一个mipmapping错误,因为我将其关闭,如果我打开它看起来更糟糕。

几何图形是网格对齐的。 我将min和mag过滤设置为最近并包裹到clampToEdge。

片段:

vec2 computeSliceOffset(float slice, float slicesPerRow, vec2 sliceSize) {
  return sliceSize * vec2(mod(slice, slicesPerRow), floor(slice / slicesPerRow));   
}

vec4 sampleAs3DTexture(sampler2D tex, vec3 texCoord, float size, float numRows, float slicesPerRow) {    
  float slice   = texCoord.z * size;                                                
  float sliceZ  = floor(slice);                                                     
  float zOffset = fract(slice);                                                     

  vec2 sliceSize = vec2(1.0 / slicesPerRow, 1.0 / numRows);
  vec2 sliceOffset = computeSliceOffset(sliceZ, slicesPerRow, sliceSize);
  vec2 uv = texCoord.xy * sliceSize;                                           
  vec4 sliceColor = texture2D(tex, sliceOffset + uv);                               
  return sliceColor;                                                                
}

vec3 texCoord = mod(worldPosition.xyz,128.0)/128.0;                                 
vec4 myColor = sampleAs3DTexture(texture_0,texCoord,64.0,8.0,8.0);

pic pic

0 个答案:

没有答案