[material dynamic branch] X4014 divergent gradient operation error
브랜치 블록 및 그라디언트 가공
동적 분기를 사용한 최적화를 수행하면 X4014의 divergent gradient operation이 어떻게든 어떻게 되는 에러가 나올 수 있습니다.
엄밀히 말하면 샘플러에 전달되는 UV 값을 브랜치 블록 내부에서 처리하면이 오류가 발생합니다.
가공한다는 것은 샘플러가 MIPMAP를 선택할 때 사용하는 그라디언트가 변화하기 때문입니다.
Bias로 UV로 가공 없음 > OK
float4 Local3 = ProcessMaterialColorTextureLookup(
Texture2DSampleBias(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy,View_MaterialTextureMipBias)
);
Bias로 UV로 가공 있음 > Compile error
float4 Local3 = ProcessMaterialColorTextureLookup(
Texture2DSampleBias(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy+float2(1.0f,0.5f),View_MaterialTextureMipBias)
);
레벨을 직접 지정하는 것(SampleLevel) > OK
float4 Local7 = ProcessMaterialColorTextureLookup(
Texture2DSampleLevel(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy+float2(1.0f,0.5f), float (Local6))
);
요약
1. 셰이더 내부에서 동적 분기를 사용하는 경우는, 서페이스에 사용하는 경우는 블록 내부에서 UV를 가공하지 않고 사용
2. 포스트 프로세스 등의 SampleLevel을 사용해 직접 지정하는 것은 신경쓰지 않고 OK
서페이스용의 머티리얼로 동적 분기를 사용하는 경우는 조금 조심해야 한다.
Reference
이 문제에 관하여([material dynamic branch] X4014 divergent gradient operation error), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suzuki_takashi/items/c3cbc02f7c8d2527065d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
float4 Local3 = ProcessMaterialColorTextureLookup(
Texture2DSampleBias(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy,View_MaterialTextureMipBias)
);
float4 Local3 = ProcessMaterialColorTextureLookup(
Texture2DSampleBias(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy+float2(1.0f,0.5f),View_MaterialTextureMipBias)
);
float4 Local7 = ProcessMaterialColorTextureLookup(
Texture2DSampleLevel(Material_Texture2D_0,Material_Texture2D_0Sampler,Parameters.TexCoords[0].xy+float2(1.0f,0.5f), float (Local6))
);
Reference
이 문제에 관하여([material dynamic branch] X4014 divergent gradient operation error), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzuki_takashi/items/c3cbc02f7c8d2527065d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)