You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改HLSL着色器实现MPC-HC视频X轴翻转?

修改FlipY.hlsl实现X轴翻转

原代码的Y轴翻转逻辑是通过反转纹理坐标的Y分量实现的:pnt.y=1.0-tex.y,要实现X轴翻转,只需要对X分量做同样的反转操作即可,具体修改如下:

  1. 定位原代码中纹理坐标定义的片段:
    pnt.x=tex.x;
    pnt.y=1.0-tex.y;
    
  2. 将其替换为:
    pnt.x=1.0-tex.x;
    pnt.y=tex.y;
    

修改后的完整代码:

sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);

#define width (p0[0])
#define height (p0[1])
#define counter (p0[2])
#define clock (p0[3])
#define one_over_width (p1[0])
#define one_over_height (p1[1])

float4 main(float2 tex : TEXCOORD0) : COLOR
{   
  float2 pnt;
    pnt.x=1.0-tex.x;
    pnt.y=tex.y;
    float4 c0 = tex2D(s0, pnt);      
    return c0;
}

原理说明:HLSL中纹理坐标的取值范围是[0,1],1.0-tex.x会把原X坐标从左到右的顺序完全反转,最终实现画面的左右镜像翻转效果。

内容的提问来源于stack exchange,提问作者Bricktop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:50:28