• Breaking News

    ddx/ddy (mip selection) for decals in tiled forward render I have a loop through the decals like this: [loop] for (int i = 0; i < projectorCount; i++) { uint currentOffset = lightOffset + i + pointLightCount + spotLightCount; uint projectorIndex = lightIndicesBuffer[currentOffset]; float4 projectedTextureUV = mul(projectors[projectorIndex].projectionMatrix, float4(input.position_worldspace.xyz, 1)); projectedTextureUV /= projectedTextureUV.w; projectedTextureUV = (projectedTextureUV + 1.0) / 2.0; float2 spritesheetUV = projectedTextureUV.xy * projectors[projectorIndex].scale + projectors[projectorIndex].offset; float4 projectedTexture = projectorTexture.SampleGrad(projectorSampler, spritesheetUV, uvDDX, uvDDY); //..... } I need to get uvDDX and uvDDY somehow. I can't use ddx(projectedTextureUV.xy) inside the loop. So what is the common approach to get the decal's mip? https://ift.tt/eA8V8J

    I have a loop through the decals like this: [loop] for (int i = 0; i < projectorCount; i++) { uint currentOffset = lightOffset + i + pointLightCount + spotLightCount; uint projectorIndex = lightIndicesBuffer[currentOffset]; float4 projectedTextureUV = mul(projectors[projectorIndex].projectionMatrix, float4(input.position_worldspace.xyz, 1)); projectedTextureUV /= projectedTextureUV.w; projectedTextureUV = (projectedTextureUV + 1.0) / 2.0; float2 spritesheetUV = projectedTextureUV.xy * projectors[projectorIndex].scale + projectors[projectorIndex].offset; float4 projectedTexture = projectorTexture.SampleGrad(projectorSampler, spritesheetUV, uvDDX, uvDDY); //..... } I need to get uvDDX and uvDDY somehow. I can't use ddx(projectedTextureUV.xy) inside the loop. So what is the common approach to get the decal's mip?

    from GameDev.net http://bit.ly/2LncBOC

    ليست هناك تعليقات

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728