第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【渲染流水線】[逐片元階段]-[裁剪測試]以UnityURP為例

標(biāo)簽:
Unity 3D C#
  • 通过矩形区域限制渲染范围
  • 可有效减少不必要的片元处理‌

裁剪测试执行流程‌

定义裁剪矩形

  • 设置基于屏幕坐标系(左下角为原点)的矩形区域:(x_min, y_min, width, height)
  • 坐标系单位为像素,矩形范围外的片元将被丢弃‌1

片元位置检测

  • 计算当前片元在屏幕空间的位置坐标 (frag_x, frag_y)

边界条件判断

  • frag_x < x_minfrag_x > x_min + width,丢弃片元
  • frag_y < y_minfrag_y > y_min + height,丢弃片元‌

通过测试的片元

  • 仅保留矩形区域内的片元,进入后续模板/深度测试流程

‌配置方式‌

‌1. UGUI组件配置(无需编码)‌

  • RectMask2D组件

    • 添加至UI父物体(如Panel),自动计算子元素的包围盒作为裁剪区域
    • 仅支持矩形裁剪,但性能优于Mask组件(无模板缓冲开销)‌
    csharp
    // 示例:为UI面板添加裁剪
    GameObject panel = GameObject.Find("UIPanel");
    panel.AddComponent<RectMask2D>();
    

‌2. Shader脚本配置(灵活控制)‌

在Shader中启用裁剪并定义区域:

hlsl
SubShader {
    Pass {
        // 开启GPU裁剪指令
        Cull Off
        ZTest Always

        CGPROGRAM
        #pragma vertex vert
        #pragma fragment frag
        // 声明裁剪区域(需在脚本中动态传入)
        uniform float4 _ScissorRect; // (x, y, width, height)

        fixed4 frag (v2f i) : SV_Target {
            // 手动检测片元位置
            if (i.screenPos.x < _ScissorRect.x ||
                i.screenPos.x > _ScissorRect.x + _ScissorRect.z ||
                i.screenPos.y < _ScissorRect.y ||
                i.screenPos.y > _ScissorRect.y + _ScissorRect.w) {
                discard; // 丢弃区域外片元
            }
            return fixed4(1,1,1,1);
        }
        ENDCG
    }
}

‌3. C#脚本全局配置(高效API)‌

通过Screen.scissorRect动态设置:

csharp
// 定义裁剪区域(左下角坐标100,100,宽高各300像素)
Rect scissorRect = new Rect(100, 100, 300, 300);
// 启用裁剪
GL.Enable(EnableCap.ScissorTest);
GL.Scissor((int)scissorRect.x, (int)scissorRect.y,
           (int)scissorRect.width, (int)scissorRect.height);
// 渲染操作...
GL.Disable(EnableCap.ScissorTest);// 结束需关闭

⚠️ 注意:此方法需在OnPostRender等渲染回调中调用,且要求摄像机为正交模式以保证坐标系匹配‌

‌关键特性对比‌

配置方式 适用对象 形状支持 性能开销 灵活性
RectMask2D UGUI元素 仅矩形
Shader脚本 3D模型/粒子 任意
GL API 全屏特效 仅矩形 最低

实际开发中,UI裁剪首选RectMask2D,3D对象或自定义形状需结合Shader实现;GL接口适用于全屏后处理特效的局部渲染优化‌


(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消