- Home /
Can i trust the Unity shader compiler more than i can trust myself?
I have crossed path with a bug that i submitted to bugs@unity3d.com. The bug went like this. Short video of bug. And also here. They responded with an investigation that concluded that: the same exact issue reproduces on Windows, while on Mac, the project opens with broken materials.
I am writing my own shaders in hlsl (.shader not shader graph). And I am using the Built-in Render Pipeline (Project Setting -> Graphics -> Scriptable Render Pipeline Settings -> None (Render Pipeline Asset)). I also have no prior knowledge of writing shaders.
My question is: Should unity's shader compiler be "smart" enough to solve these issues/throw errors and therefore it is to be factored as a bug (since no errors are thrown and issues still arrise) or is it on my part (that i am missing something)?
Do I need to write my own custom render pipeline or might there be something universal in the shaders that i missed? Water shader can be found here. And all other materials follow similar structure.
Why i ask this is because i am sceptical over that unity's .shader programs run like c# programs (that they are universal). Since i beleave that different CPU's still opperate the same. Whilst the same cant be said about GPU's. For example: There is one material (grass material shown in video aboce) where i found out that the use of tesselation made my laptop (windows os) get crazy frame drops where as on my desktop (windows os) i didnt. And i found out that the cgincl program i wrote was not supported on that GPU.
Your answer
Follow this Question
Related Questions
CustomRenderTexture (RFloat) wont initialize in the same frame it is created. 0 Answers
How can I use UnityShaderCompiler.exe? 2 Answers
Shader Graph: Choosing Texture2DArray Index by uv.z 1 Answer
Can't open any projects: Shader compiler initialization error :Failed to read D3Dcompiler_47.DLL 2 Answers