Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Pages: [1]
  Print  
Author Topic: Some shaders fail to load, if using procedural textures.  (Read 2888 times)
Zarkow
Customers
Community Member
*****
Posts: 342


WWW
« on: May 19, 2008, 06:23:06 AM »

Ok, so here is a snippet from a log-file:

Code:
05-19-2008 18:11:58 | DEVICE INFO : Pixel Shaders 3.0 supported in hardware.
05-19-2008 18:11:58 | DEVICE INFO : Driver used is a DirectX9-level driver 'nv4_disp.dll'. Excellent
05-19-2008 18:11:58 | DEVICE INFO : Card Type Geforce6xxx/7xxx/8xxx/ATIRadeonX1xxx  Level card, third generation of programmable card
05-19-2008 18:11:58 | TEXTURE MANAGER : Loading of 'data\shaders\tile1.jpg' successful 'NONAME' on index 3
05-19-2008 18:11:58 | TEXTURE MANAGER : Loading of 'data\shaders\tile1.dds' successful 'NONAME' on index 4
05-19-2008 18:11:58 | SHADER MANAGER : Shader 'RELIEF' successfully created.
05-19-2008 18:11:58 | TEXTURE MANAGER : Successfully created a render surface 640x480 on slot 5
05-19-2008 18:11:58 | SHADER MANAGER : Shader 'TILES' successfully created.
05-19-2008 18:11:58 | SHADER MANAGER : Couldn't create the procedural texture with function 'noise_2d'. Error : memory(30,10): error X1507: failed to open source file: 'include\\Quad.fxh'

05-19-2008 18:11:58 | TEXTURE MANAGER : Successfully created a render surface 640x480 on slot 7
05-19-2008 18:11:58 | SHADER MANAGER : Shader 'SCRATCHED_FILM' successfully created.
05-19-2008 18:11:58 | TEXTURE MANAGER : Successfully created a render surface 640x480 on slot 8
05-19-2008 18:11:58 | SHADER MANAGER : Shader 'SEPIA' successfully created.
05-19-2008 18:11:59 | SHADER MANAGER : Couldn't create the procedural texture with function 'make_stripe_tex'. Error : memory(40,10): error X1507: failed to open source file: 'include\\stripe_tex.fxh'

05-19-2008 18:11:59 | TEXTURE MANAGER : Loading of 'data\shaders\default_color.dds' successful 'NONAME' on index 10
05-19-2008 18:11:59 | SHADER MANAGER : Shader 'DURER' successfully created.

As we can see two shaders fail to load fully, both with references to failure to load/create procedural textures in the included helper-files. The files themselfs are being loaded, so don't be tricked by the error message, but the creation errors out with a memory-ref as we can see. Tested on both 6200 and a 7800-card, so it's not gfx-card memory per say that is too small or such.

What could this error be from and how to solve it?

Link to one of the shaders to test with: http://developer.download.nvidia.com/shaderlibrary/webpages/hlsl_shaders.html#durer
Logged
GD
Customers
Community Member
*****
Posts: 384


« Reply #1 on: May 19, 2008, 07:22:45 AM »

error X1507: failed to open source file: 'include\\Quad.fxh'
error X1507: failed to open source file: 'include\\stripe_tex.fxh'

Seems like you need to put those files in relative folder 'include' to shader you're trying to load.
Logged
Zarkow
Customers
Community Member
*****
Posts: 342


WWW
« Reply #2 on: May 19, 2008, 07:45:53 AM »

As I said, that should not be the problem. The error is on the line before, the 'not loaded' is the EFFECT of the failure.

The line if the file didn't exist would be:

Code:
05-19-2008 19:45:24 | SHADER MANAGER : Error : D:\Borland\Delphi7\Projects\Nvlf_RenderTechTest\Test.1\data\shaders\durer.fx(40): error X1507: failed to open source file: 'D:\Borland\Delphi7\Projects\Nvlf_RenderTechTest\Test.1\data\shaders\include\stripe_tex.fxh'
-
- Note for admin: one row code-entries doesn't work properly.
-

(Here I removed the file.)

However, if I move the files from the include-subfolder that nvidia likes to use the files are loaded without complaints, but not all shaders are fully working ofc. But it's very odd that the include-paths doesn't work as they should. I'm not on the absolute latest release, so is this something that has been fixed?
« Last Edit: May 19, 2008, 03:51:15 PM by Zarkow » Logged
Zarkow
Customers
Community Member
*****
Posts: 342


WWW
« Reply #3 on: October 12, 2008, 02:00:04 AM »

So if anyone is unsure of the issue: Any relative path in the shader in load referencing other shader files would fail on load in TV3D6.5.

This is no doubt a TV3D6.5 issue however.
Logged
jviper
Community Member
*
Posts: 2130

Discipline in training


« Reply #4 on: October 12, 2008, 07:21:00 PM »

Quote
However, if I move the files from the include-subfolder that nvidia likes to use the files are loaded without complaints, but not all shaders are fully working ofc. But it's very odd that the include-paths doesn't work as they should. I'm not on the absolute latest release, so is this something that has been fixed?
If you put all the files the shader needs in the same folder as the shader, it should work. This is the refered method because not everyone has the nvidia sdk installed, the so shader would not work on their systems if you referenced everything from the NVidia's Include folder.
About the shaders still not working fully: You'll have to revise the shaders as TV3D does not work exactly the same way as Nvidis FX Composer.
Logged

JAbstract.....Don't just imagine, make it happen!
Zarkow
Customers
Community Member
*****
Posts: 342


WWW
« Reply #5 on: October 13, 2008, 10:32:01 AM »

All the files was included in the file structure.

The point is that any include that in the shader says for instance 'shaders\somefile.fx' will fail while moving all the generic files up one step to the main shader dir and calling referencing them within your shader as 'somefile.fx' works. It seems the relative path isn't expanded correctly from within TV3D's shader loader.
Logged
jviper
Community Member
*
Posts: 2130

Discipline in training


« Reply #6 on: October 13, 2008, 11:12:23 AM »

perhaps it should be "\shaders\somefile.fx" and not just "shaders\somefile.fx". Something has to be before the name of the directory, otherwise it thinks that that is the exact path unless there are no "\" in the name. So it's probably looking for a disk named "shaders" and not finding it.
Logged

JAbstract.....Don't just imagine, make it happen!
Zarkow
Customers
Community Member
*****
Posts: 342


WWW
« Reply #7 on: October 13, 2008, 12:42:36 PM »

Anything is possible (i.e. cannot verify atm), but it still requires people to check (and edit) their shaders (as it's not FX Composers format to have a preceding backslash), so it's worth correcting if possible.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.3 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks