mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-11-27 14:00:10 +00:00
Merge pull request #794 from takahito-tejima/ptex
fix ptex lookup shaders to clamp the patchcoord
This commit is contained in:
commit
100b61b17f
@ -114,7 +114,7 @@ vec4 PtexLookupNearest(vec4 patchCoord,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID);
|
PtexPacking ppack = getPtexPacking(packings, faceID);
|
||||||
vec2 coords = vec2(uv.x * ppack.width + ppack.uOffset,
|
vec2 coords = vec2(uv.x * ppack.width + ppack.uOffset,
|
||||||
@ -127,7 +127,7 @@ vec4 PtexLookupNearest(vec4 patchCoord,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
vec2 coords = vec2(uv.x * ppack.width + ppack.uOffset,
|
vec2 coords = vec2(uv.x * ppack.width + ppack.uOffset,
|
||||||
@ -139,7 +139,7 @@ vec4 PtexLookupFast(vec4 patchCoord,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID);
|
PtexPacking ppack = getPtexPacking(packings, faceID);
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ vec4 PtexLookupFast(vec4 patchCoord,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ vec4 PtexLookup(vec4 patchCoord,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ vec4 PtexLookupQuadratic(out vec4 du,
|
|||||||
sampler2DArray data,
|
sampler2DArray data,
|
||||||
isamplerBuffer packings)
|
isamplerBuffer packings)
|
||||||
{
|
{
|
||||||
vec2 uv = patchCoord.xy;
|
vec2 uv = clamp(patchCoord.xy, vec2(0), vec2(1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ float4 PtexLookupNearest(float4 patchCoord,
|
|||||||
Texture2DArray data,
|
Texture2DArray data,
|
||||||
Buffer<uint> packings)
|
Buffer<uint> packings)
|
||||||
{
|
{
|
||||||
float2 uv = patchCoord.xy;
|
float2 uv = clamp(patchCoord.xy, float2(0,0), float2(1,1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID);
|
PtexPacking ppack = getPtexPacking(packings, faceID);
|
||||||
float2 coords = float2(uv.x * ppack.width + ppack.uOffset,
|
float2 coords = float2(uv.x * ppack.width + ppack.uOffset,
|
||||||
@ -127,7 +127,7 @@ float4 PtexLookupNearest(float4 patchCoord,
|
|||||||
Texture2DArray data,
|
Texture2DArray data,
|
||||||
Buffer<uint> packings)
|
Buffer<uint> packings)
|
||||||
{
|
{
|
||||||
float2 uv = patchCoord.xy;
|
float2 uv = clamp(patchCoord.xy, float2(0,0), float2(1,1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
float2 coords = float2(uv.x * ppack.width + ppack.uOffset,
|
float2 coords = float2(uv.x * ppack.width + ppack.uOffset,
|
||||||
@ -140,7 +140,7 @@ float4 PtexLookup(float4 patchCoord,
|
|||||||
Texture2DArray data,
|
Texture2DArray data,
|
||||||
Buffer<uint> packings)
|
Buffer<uint> packings)
|
||||||
{
|
{
|
||||||
float2 uv = patchCoord.xy;
|
float2 uv = clamp(patchCoord.xy, float2(0,0), float2(1,1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ float4 PtexLookupQuadratic(out float4 du,
|
|||||||
Texture2DArray data,
|
Texture2DArray data,
|
||||||
Buffer<uint> packings)
|
Buffer<uint> packings)
|
||||||
{
|
{
|
||||||
float2 uv = patchCoord.xy;
|
float2 uv = clamp(patchCoord.xy, float2(0,0), float2(1,1));
|
||||||
int faceID = int(patchCoord.w);
|
int faceID = int(patchCoord.w);
|
||||||
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
PtexPacking ppack = getPtexPacking(packings, faceID, level);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user