Стандартная функция Cg в новой версии Unity (2018.3) - PullRequest
2 голосов
/ 21 мая 2019

Я не могу найти tex2D(sampler2D tex , float2 sz , float2 dsdx , float2 dsdy) эта функция в Unity3D (2018.3) Где я могу найти это?

Я прочитал руководство по Unity3D, но не могу его найти. Я нахожу эту функцию на веб-сайте NVIDIA о CG API

Вот ссылка https://developer.download.nvidia.cn/CgTutorial/cg_tutorial_appendix_e.html

Api сообщает мне, что эта функция является стандартной функцией cg, но я не могу найти ее в «UnityCG.cginc» и «UnityStandardCore.cginc», и она не существует во встроенных функциях.

    Pass
    {


        CGPROGRAM

        #pragma target 3.0

        #pragma vertex vert
        #pragma fragment frag            

        #define UNITY_SHADER_NO_UPGRADE 1

        #include "UnityCG.cginc"
        //#include "UnityStandardCore.cginc"


        struct v2f
        {
            float4 position : POSITION; 
            float2 uv : TEXCOORD0;

        };

        sampler2D _MainTex;
        float4 _MainTex_ST;


        float _Scale;
        //sampler2D unity_Lightmap;
        //float4 unity_LightmapST;


        v2f vert(appdata_full v)            
        {
            v2f o;

            o.position = mul(UNITY_MATRIX_MVP,v.vertex);



            o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);




            return o;
        }

        fixed4 frag(v2f IN) : COLOR
        {

            float scale = 0.01;

            fixed4 col = tex2D(_MainTex,IN.uv,float(scale,scale),float(scale,scale));

            return col;
        }


        ENDCG
    }

1 Ответ

0 голосов
/ 21 мая 2019

Проблема решена! Спасибо Аргументы это ошибка. tex2D (_MainTex, IN.uv, поплавок (масштаб, масштаб), поплавок (масштаб, масштаб)) Это float2, а не float

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...