water shaders in demomaster problem (Cg program too complex)

Hello,

I’ve been trying to get the water shaders to work in the demomaster app and although the ocean works perfectly everything else related to water results in the error “Cg program too complex for driver”.

I turned off the basic shaders in config.prc (basic-shaders-only #f). Turning on debug messages revealed the following:

  1. When trying to start Water vtf 1 or 2 the last line seems to be stuck in an endless loop, it keeps throwing that line until i kill the process.
  2. It seems to have a bug related to naming jpg’s (Not loading NULL image tmp/cube0_#.jpg)

water vtf demo’s

Listing .\demo_tunnel\models ...
Listing .\demo_tunnel\shaders ...
Listing .\gui ...
Listing .\gui\data ...
Listing .\share ...
Listing .\share\PSSM ...
Listing .\share\models ...
Listing .\share\models\angmap26 ...
Listing .\share\models\daybox1 ...
Listing .\share\models\fleur ...
Listing .\share\models\fleur\textures ...
Listing .\share\models\morningbox ...
Listing .\share\models\sky_redsunset ...
Listing .\share\models\skyboxtemplate ...
Listing .\share\particles ...
Listing .\share\shaders ...
Listing .\share\textures ...
Listing .\tmp ...
Compile result True
SplitScreenDemo : [Camera - Split Screen]
TunnelDemo : [Fog - Tunnel with a test shader]
ShaderShapeDemo : [Geometry - Create various geometries]
TerrainDemo : [GeoMipTerrain - Yarr]
TerrainWaterDemo : [GeoMipTerrain - Yarr with water]
Human1Demo : [Human - 1]
CarouselDemo : [Misc - Carousel]
DiscoDemo : [Misc - Disco Light]
MiscHDRTestDemo : [Misc - HDR Test]
LensFlareDemo : [Misc - Lens Flare]
NormalMappingDemo : [Misc - Normal Mapping Demo]
PoolDemo : [Misc - Pool Demo]
LODDemo : [Misc - Splash Card and LOD]
VolumetricLightDemo : [Misc - Volumetric Light Demo]
Morph2Demo : [Morphing - Block]
Morph3Demo : [Morphing - Captain Blender]
Morph1Demo : [Morphing - Ripple]
Grass1Demo : [Nature - Grass Demo 1]
Grass1aDemo : [Nature - Grass Demo 1 with light shader]
Grass2Demo : [Nature - Grass Demo 2]
Grass3Demo : [Nature - Grass Demo 3, walking forever]
Ocean2SimpleDemo : [Nature - Ocean 2 cubemap only]
Ocean2Demo : [Nature - Ocean 2 from Ogre]
SkyDomeDemo : [Nature - Skydome 1 effect]
SkyDome2Demo : [Nature - Skydome 2 effect]
Water1Demo : [Nature - Water shader from yarr]
WaterVtf1DemoNew : [Nature - Water vtf 1 New]
WaterVtf1DemoNew : [Nature - Water vtf 2 New]
WaterfallDemo : [Nature - Waterfall effect]
ODEDemo : [ODE - Demo 1]
ODEDemo2 : [ODE - Demo 2]
ODEDemo3 : [ODE - with Shadow Manager]
ODEDemo4 : [ODE - with Shadow Manager 2]
ODECar1Demo : [ODE Car - Demo 1]
ShaderAdvance1Demo : [Shaders - Advance Demo 1]
ShaderAdvance2Demo : [Shaders - Advance Demo 2]
ShaderBasicDemo : [Shaders - Basic Demo]
ShaderShapeDemo : [Shaders - Change Shapes]
ShaderCompositorDemo : [Shaders - Compositor]
DOFShaderDemo : [Shaders - DOF]
ShaderFacingRatioDemo : [Shaders - Facing Ratio]
ShaderHatching1Demo : [Shaders - Hatching 1]
ShaderHatching2Demo : [Shaders - Hatching 2]
ShowShadersDemo : [Shaders - Show Models with various effects]
ShowShadersDemo : [Shaders - Show Panda Shaders]
SunShaderDemo : [Shaders - Sun]
SoftShadowDemo : [Shadow - Shadow Manager from pro-rsoft]
Shadow2Demo : [Shadow - Shadow Manager Test 2]
:display:gsg:glgsg(debug): loading uncompressed texture Perspective Sans Regular_0
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 9, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture Perspective Sans Regular_0
:display:gsg:glgsg(debug): subloading existing texture object, 256 x 256 x 1, mipmaps 9, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture Perspective Sans Regular_0
:display:gsg:glgsg(debug): subloading existing texture object, 256 x 256 x 1, mipmaps 9, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture Perspective Sans Regular_0
:display:gsg:glgsg(debug): subloading existing texture object, 256 x 256 x 1, mipmaps 9, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture Perspective Sans Regular_0
:display:gsg:glgsg(debug): subloading existing texture object, 256 x 256 x 1, mipmaps 9, uses_mipmaps = 1
:display:windisplay(warning): SetForegroundWindow() failed!
:display:gsg:glgsg(debug): loading uncompressed texture loading
:display:gsg:glgsg(debug): loading new texture object, 400 x 200 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture surface
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture dampening
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): Got NULL image: tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture tmp/cube0_#.jpg
:display:gsg:glgsg(debug): Not loading NULL image tmp/cube0_#.jpg
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_west
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_up
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_east
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_south
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_down
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture s_north
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:gobj(error): Cg program too complex for driver: /c/Users/hans/Desktop/panda/demomaster-0.8/demo_nature/shaders/vertextexture1_new.sha. Try choosing a different profile.
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): subloading existing texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): subloading existing texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): loading new texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): subloading existing texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): subloading existing texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture
:display:gsg:glgsg(debug): subloading existing texture object, 128 x 128 x 1, mipmaps 1, uses_mipmaps = 0

yarr with water demo:

...
:display:gsg:glgsg(debug): Got NULL image: waterBuffer
:display:gsg:glgsg(debug): loading uncompressed texture waterBuffer
:display:gsg:glgsg(debug): Not loading NULL image waterBuffer
...

Can anyone help me further with please?

What kind of graphics card do you have? Are you sure it can support the required shader complexity?

David

hi drwr,

I have a ati radeon HD 4800 series. I’m pretty sure it can handle them.

well, I got same error even with ATI HD5800 graphics card. So I suppose there is some problem with cg compiler and ati cards or something like that.

vtf means Vertex Texture Fetching, an advance feature used in the shader. I believe your card may not support it.

Vertex Texture Fetching works in gl shader extemly well. So it supproted by graphics card.

oic, so all the vtf shader program cannot run on your card.

i tried the ogre3d example regarding VTF and that runs just fine on my card. Also GPU caps viewer (ozone3d.net/gpu_caps_viewer/) VTF Demo runs like a charm. This is actually a handy tool to detect whether or not your card has certain capabilities. For example, my card does not have Cuda support (obviously)