+1
Not a bug

A0.09 (Mac) Can't compile Seamless Mip Blur

Andrei Nadin 11 years ago updated by Freya Holmér (Developer) 11 years ago 4

I get this in the log..


Updating Assets/ShaderForge/Example Assets/Shaders/SeamlessMipBlur.shader - GUID: 54c0b60b9782f6048a8efdbc78808a65...

 done. [Time: 1131.326660 ms] 

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 379: ERROR: 'constructor' : too many arguments  at line 27

(Filename: Refraction Line: 27)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 387: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 391: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 392: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 400: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)



Is it because of this line?

           #pragmaexclude_renderersflashglesxbox360ps3opengl


How come you are excluding so many platforms?

Answer

Answer
Not a bug

This is probably due to mistakenly excluding opengl from the renderers


Edit: Looks like Open GL simply doesn't support Tex2Dlod :/

Edit2: Closing this! OpenGL only support tex2Dlod in the vertex shader, not the fragment shader, but that's another topic :)

Ah I see, its this one


tex2Dlod


Shader error in 'Shader Forge/Seamless MIP Blur': Program 'frag', function "tex2Dlod" not supported in this profile (maybe you want #pragma glsl?) at line 124

Keywords: DIRECTIONAL, SHADOWS_OFF


I added #pragma glsl in the 2nd pass but all I get is a black box now :(


What profile are you rendering with? Which platform is Unity set to?

Oh, actually, it shouldn't exclude opengl! Just remove that from the exclude list, and it should work. I'll get this fixed for 0.10

Planned

This is probably due to mistakenly excluding opengl from the renderers

Under review

This is probably due to mistakenly excluding opengl from the renderers


Edit: Looks like Open GL simply doesn't support Tex2Dlod :/

Hmm, I took out the OpenGL exclude and added #pragma GLSL to both passes and now I get this :)


This is with Unity set to iOS (with and without emulation) and set to Desktop (MacOSX).


Updating Assets/ShaderForge/Example Assets/Shaders/SeamlessMipBlur.shader - GUID: 54c0b60b9782f6048a8efdbc78808a65...

 done. [Time: 2186.453857 ms] 

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 379: ERROR: 'constructor' : too many arguments  at line 27

(Filename: Refraction Line: 27)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 387: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 391: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 392: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)

Shader warning in 'Shader Forge/NewShader': GLSL vertex shader: 400: ERROR: 'constructor' : too many arguments  at line 106

(Filename: Refraction Line: 106)


Answer
Not a bug

This is probably due to mistakenly excluding opengl from the renderers


Edit: Looks like Open GL simply doesn't support Tex2Dlod :/

Edit2: Closing this! OpenGL only support tex2Dlod in the vertex shader, not the fragment shader, but that's another topic :)