Temaran/UnrealEngineShaderPluginDemo

Seems to just crash with: Failed to find shader type FComputeShaderDeclaration

Closed this issue · 4 comments

I get this when running:

Assertion failed: ShaderRef != NULL && *ShaderRef != NULL [File:Runtime/ShaderCore/Public/Shader.h] [Line: 926]
Failed to find shader type FComputeShaderDeclaration
Ensure condition failed: GetShadowIndex() == 0 [File:Runtime/Core/Public/HAL/IConsoleManager.h] [Line: 782]

Any idea what might be causing the failure?

Hello! This problem has come up a few times, so I'm going to add some
suggested solutions to the md file :)

Basically, the plugin defines its shaders in usf files. These usf files can
only be read by the engine if they reside in the Engine/Shaders folder.

This is of course a problem, since you cannot define these on the project
level, and if you want to leverage the system, you have to change your
engine setup.

The way I tried to solve this problem with the tutorial plugin was to
create a different plugin that basically just copies the shader files to
the correct location early in the editor launch process.

This seems to work for most people, but sometimes, it fails for some setups
it seems.

I can think of a few things you can try to fix this:

*Ensure that the Project/Shaders folder actually contains the usf files and
those have not been corrupted or deleted or something silly like that.

*If the files are there, you can try to remove the ShaderCopyHelper plugin
(under plugins) and manually copy the usf files to your Engine/Shaders
folder.

*This tutorial only supports 4.7, so if you happen to run a different
engine version, it might not work because of that.

I hope that this sheds some light on the situation, if you run into a new
problem, drop me a mail with some debug data and I'll try to help best I
can!

Best regards,

Temaran

On May 11, 2015 5:15 AM, "Doug" notifications@github.com wrote:

I get this when running:

Assertion failed: ShaderRef != NULL && *ShaderRef != NULL [File:Runtime/ShaderCore/Public/Shader.h] [Line: 926]
Failed to find shader type FComputeShaderDeclaration
Ensure condition failed: GetShadowIndex() == 0 [File:Runtime/Core/Public/HAL/IConsoleManager.h] [Line: 782]

Any idea what might be causing the failure?


Reply to this email directly or view it on GitHub
#1.

hm... your plugin correctly copies the files across to Engine/Shaders:

doug:ShaderPluginDemo doug$ ls ~/dev/unreal/UnrealEngine/Engine/Shaders/ | grep Example
ComputeShaderExample.usf
PixelShaderExample.usf

...and I've tried various things, as you suggest, but no luck here.

Perhaps this just doesn't work on OSX?

The engine version is 4.7.6

If there's any specific debugging information I can provide with additional details, nudge this ticket and I'll add it.

I must admit I haven't tried this on an OSX build, and unfortunately I'm
unable to do so since I do not own any apple hardware :(
It might help if you could send me a minidump, but I'm unsure if dumps
created on osx would be runnable on my side. The minidump format is open
though, so maybe your environment can generate them somehow?

That's the only thing I can think of right now that might let me look into
it though.

It is very strange however since I use no platform specific code in that
project whatsoever. I almost get the urge to virtualbox it, although
virtualbox has problems with graphics, so it might not work either.

I'm going to ask around at work if someone has an apple compy I could
borrow or something :)

I'm sure the solution is simple though, debugging the shader load process
should reveal the problem!

Best regards,
Temaran

2015-05-19 3:33 GMT+02:00 Doug notifications@github.com:

hm... your plugin correctly copies the files across to Engine/Shaders:

doug:ShaderPluginDemo doug$ ls ~/dev/unreal/UnrealEngine/Engine/Shaders/ | grep Example
ComputeShaderExample.usf
PixelShaderExample.usf

...and I've tried various things, as you suggest, but no luck here.

Perhaps this just doesn't work on OSX?

The engine version is 4.7.6

If there's any specific debugging information I can provide with
additional details, nudge this ticket and I'll add it.


Reply to this email directly or view it on GitHub
#1 (comment)
.

v0q commented

I know this is an old one but compute shaders are not available for OS X due to OS X only supporting OpenGL 4.1 where as compute shaders were introduced in OpenGL 4.3.