zoukankan      html  css  js  c++  java
  • ue 后效里宏的设置

    shader model以外的宏的设置

    	static inline void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment)
    	{
    		FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
    
    		OutEnvironment.SetDefine(TEXT("THREADGROUPSIZE_X"), ThreadGroupSizeX);
    		OutEnvironment.SetDefine(TEXT("THREADGROUPSIZE_Y"), ThreadGroupSizeY);
    		OutEnvironment.SetDefine(TEXT("THREADGROUPSIZE_Z"), ThreadGroupSizeZ);
    		OutEnvironment.SetDefine(TEXT("SRC_TYPE"), uint32(SrcType));
    		OutEnvironment.SetDefine(TEXT("DST_TYPE"), uint32(DstType));
    
    		switch (ValueType)
    		{
    		case ECopyTextureValueType::Float:
    			switch (NumChannels)
    			{
    			case 1: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("float"));  break;
    			case 2: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("float2")); break;
    			case 3: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("float3")); break;
    			case 4: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("float4")); break;
    			}
    			break;
    
    		case ECopyTextureValueType::Int32:
    			switch (NumChannels)
    			{
    			case 1: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("int"));  break;
    			case 2: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("int2")); break;
    			case 3: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("int3")); break;
    			case 4: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("int4")); break;
    			}
    			break;
    
    		case ECopyTextureValueType::Uint32:
    			switch (NumChannels)
    			{
    			case 1: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("uint"));  break;
    			case 2: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("uint2")); break;
    			case 3: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("uint3")); break;
    			case 4: OutEnvironment.SetDefine(TEXT("VALUE_TYPE"), TEXT("uint4")); break;
    			}
    			break;
    		}
    	}
    

      

    	static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment)
    	{
    		FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
    		CA_SUPPRESS(6313);
    		OutEnvironment.SetDefine(TEXT("ES2_USE_BLOOM"), (UseSunBloom & 1) ? (uint32)1 : (uint32)0);
    		OutEnvironment.SetDefine(TEXT("ES2_USE_SUN"), (UseSunBloom >> 1) ? (uint32)1 : (uint32)0);
    	}
    

      

    开都可以这么开

    static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)

    这个函数还没理解好 有待理解

    这是用的时候 usf里

    1

    [numthreads(THREADGROUPSIZE_X, THREADGROUPSIZE_Y, THREADGROUPSIZE_Z)]

    2

    #elif DST_TYPE == 2

    RWTexture3D <VALUE_TYPE> DstResource;
    #define DST_ADDR(p,o) ((p).xyz + (o).xyz)

    #endif

    3

    #if ES2_USE_BLOOM

    #endif

  • 相关阅读:
    chrome 修改请求头的小工具
    spring boot整合shiro引用配置文件配置是出现的问题
    jquery ztree 复选框
    表单input中disabled提交后得不到值的解决办法
    大文件编辑器
    记一次差点删库跑路的事故
    简单的记录一次简单的优化
    mysql 死锁解决办法
    centos6,7中防火墙基本用法
    案例3-ubuntu和centos中自动部署tomcat相关服务的脚本
  • 原文地址:https://www.cnblogs.com/minggoddess/p/13969223.html
Copyright © 2011-2022 走看看