[solved] Broken black shader on Ati
Posted: Mon Oct 26, 2009 10:50 pm
For Proun I have some post effects that require RenderTextures. This all works fine, except that on some Ati cards (or all? not sure) the post effect is rendered all black. Unfortunately, I don't have an Ati card myself, so I cannot quickly and extensively test this, so I am hoping you folks have some idea what is going wrong here. I ran this on several Nvidia cards, and so far all seem okay with these graphics, while the only two Ati cards I am aware of running this thing on, failed to do so.
The Ogre log does not give me any errors on the Ati cards. I don't know whether the issue is with the RenderTexture not being created/rendered, or with the shader not running correctly, since I don't get any errors. My overlays for lap time and such are rendered nicely, so rendering itself is working and the problem really seems to be with the post effect.
I hope these pieces of info give some insight into what might be going wrong here. This is how the RenderTexture is created:
These are the Cg definitions of the shaders:
And this is what the Ogre.log says about the Ati GPU:
Does anyone have any idea how to fix this, or how to find the problem? Thanks in advance!
The Ogre log does not give me any errors on the Ati cards. I don't know whether the issue is with the RenderTexture not being created/rendered, or with the shader not running correctly, since I don't get any errors. My overlays for lap time and such are rendered nicely, so rendering itself is working and the problem really seems to be with the post effect.
I hope these pieces of info give some insight into what might be going wrong here. This is how the RenderTexture is created:
Code: Select all
Ogre::TexturePtr texture = Ogre::TextureManager::getSingleton().createManual(
TextTools::append("RenderTexture", Global::getUniqueNumber()),
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
Ogre::TEX_TYPE_2D,
width,
height,
0,
Ogre::PF_R8G8B8A8,
Ogre::TU_RENDERTARGET,
NULL); //anti-aliasing samples
Code: Select all
vertex_program Cg_DoF_VP cg
{
source DoF.cg
entry_point DoF_VP
profiles vs_2_0
default_params
{
param_named_auto worldViewProjectionMatrix worldviewproj_matrix
}
}
fragment_program Cg_DoF_SM3_32samples_FP cg
{
source DoF.cg
entry_point DoF_SM3_32samples_FP
profiles ps_3_0
default_params
{
param_named size float 0.012
param_named halfSize float 0.006
param_named hdriMultiplier float 2.0
}
}
Code: Select all
14:11:37: *-*-* OGRE Initialising
14:11:37: *-*-* Version 1.6.3 (Shoggoth)
14:11:37: Creating resource group Bootstrap
14:11:37: Added resource location 'Media/OgreCore' of type 'FileSystem' to resource group 'Bootstrap'
14:11:37: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
14:11:37: D3D9 : RenderSystem Option: Anti aliasing = None
14:11:37: D3D9 : RenderSystem Option: Floating-point mode = Fastest
14:11:37: D3D9 : RenderSystem Option: Full Screen = No
14:11:37: D3D9 : RenderSystem Option: Rendering Device = ATI Radeon HD 4800 Series
14:11:37: D3D9 : RenderSystem Option: VSync = No
14:11:37: D3D9 : RenderSystem Option: Video Mode = 800 x 600 @ 32-bit colour
14:11:37: D3D9 : RenderSystem Option: sRGB Gamma Conversion = No
14:11:41: *** Stopping Win32GL Subsystem ***
14:11:41: CPU Identifier & Features
14:11:41: -------------------------
14:11:41: * CPU ID: GenuineIntel: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
14:11:41: * SSE: yes
14:11:41: * SSE2: yes
14:11:41: * SSE3: yes
14:11:41: * MMX: yes
14:11:41: * MMXEXT: yes
14:11:41: * 3DNOW: no
14:11:41: * 3DNOWEXT: no
14:11:41: * CMOV: yes
14:11:41: * TSC: yes
14:11:41: * FPU: yes
14:11:41: * PRO: yes
14:11:41: * HT: no
14:11:41: -------------------------
14:11:41: D3D9 : Subsystem Initialising
14:11:41: D3D9RenderSystem::_createRenderWindow "OGRE Render Window", 800x600 windowed miscParams: FSAA=0 FSAAQuality=0 colourDepth=32 gamma=false useNVPerfHUD=false vsync=false
14:11:41: D3D9 : Created D3D9 Rendering Window 'OGRE Render Window' : 800x600, 32bpp
14:11:41: D3D9 : WARNING - disabling VSync in windowed mode can cause timing issues at lower frame rates, turn VSync on if you observe this problem.
14:11:41: Registering ResourceManager for type Texture
14:11:41: Registering ResourceManager for type GpuProgram
14:11:41: D3D9: Vertex texture format supported - PF_L8
14:11:41: D3D9: Vertex texture format supported - PF_L16
14:11:41: D3D9: Vertex texture format supported - PF_A8
14:11:41: D3D9: Vertex texture format supported - PF_A4L4
14:11:41: D3D9: Vertex texture format supported - PF_BYTE_LA
14:11:41: D3D9: Vertex texture format supported - PF_R5G6B5
14:11:41: D3D9: Vertex texture format supported - PF_B5G6R5
14:11:41: D3D9: Vertex texture format supported - PF_A4R4G4B4
14:11:41: D3D9: Vertex texture format supported - PF_A1R5G5B5
14:11:41: D3D9: Vertex texture format supported - PF_A8R8G8B8
14:11:41: D3D9: Vertex texture format supported - PF_B8G8R8A8
14:11:41: D3D9: Vertex texture format supported - PF_A2R10G10B10
14:11:41: D3D9: Vertex texture format supported - PF_A2B10G10R10
14:11:41: D3D9: Vertex texture format supported - PF_DXT1
14:11:41: D3D9: Vertex texture format supported - PF_DXT2
14:11:41: D3D9: Vertex texture format supported - PF_DXT3
14:11:41: D3D9: Vertex texture format supported - PF_DXT4
14:11:41: D3D9: Vertex texture format supported - PF_DXT5
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT16_RGB
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT16_RGBA
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT32_RGB
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
14:11:41: D3D9: Vertex texture format supported - PF_X8R8G8B8
14:11:41: D3D9: Vertex texture format supported - PF_X8B8G8R8
14:11:41: D3D9: Vertex texture format supported - PF_R8G8B8A8
14:11:41: D3D9: Vertex texture format supported - PF_DEPTH
14:11:41: D3D9: Vertex texture format supported - PF_SHORT_RGBA
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT16_R
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT32_R
14:11:41: D3D9: Vertex texture format supported - PF_SHORT_GR
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT16_GR
14:11:41: D3D9: Vertex texture format supported - PF_FLOAT32_GR
14:11:41: D3D9: Vertex texture format supported - PF_SHORT_RGB
14:11:41: RenderSystem capabilities
14:11:41: -------------------------
14:11:41: RenderSystem Name: Direct3D9 Rendering Subsystem
14:11:41: GPU Vendor: ati
14:11:41: Device Name: ATI Radeon HD 4800 Series
14:11:41: Driver Version: 8.14.10.662
14:11:41: * Fixed function pipeline: yes
14:11:41: * Hardware generation of mipmaps: yes
14:11:41: * Texture blending: yes
14:11:41: * Anisotropic texture filtering: yes
14:11:41: * Dot product texture operation: yes
14:11:41: * Cube mapping: yes
14:11:41: * Hardware stencil buffer: yes
14:11:41: - Stencil depth: 8
14:11:41: - Two sided stencil support: yes
14:11:41: - Wrap stencil values: yes
14:11:41: * Hardware vertex / index buffers: yes
14:11:41: * Vertex programs: yes
14:11:41: * Fragment programs: yes
14:11:41: * Geometry programs: no
14:11:41: * Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
14:11:41: * Texture Compression: yes
14:11:41: - DXT: yes
14:11:41: - VTC: no
14:11:41: * Scissor Rectangle: yes
14:11:41: * Hardware Occlusion Query: yes
14:11:41: * User clip planes: yes
14:11:41: * VET_UBYTE4 vertex element type: yes
14:11:41: * Infinite far plane projection: yes
14:11:41: * Hardware render-to-texture: yes
14:11:41: * Floating point textures: yes
14:11:41: * Non-power-of-two textures: yes
14:11:41: * Volume textures: yes
14:11:41: * Multiple Render Targets: 4
14:11:41: - With different bit depths: yes
14:11:41: * Point Sprites: yes
14:11:41: * Extended point parameters: yes
14:11:41: * Max Point Size: 256
14:11:41: * Vertex texture fetch: yes
14:11:41: - Max vertex textures: 4
14:11:41: - Vertex textures shared: no
14:11:41: * Render to Vertex Buffer : no
14:11:41: * DirectX per stage constants: yes
14:11:41: ***************************************
14:11:41: *** D3D9 : Subsystem Initialised OK ***
14:11:41: ***************************************