Depth of Field demo release

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Depth of Field demo release

Post by DWORD »

Hi,

This one has been lying around for some time, but I never got the time to finish it, so instead I thought I'd release what I have in case anyone can find a use for it.

Basically it's a plug'n'play depth of field effect that can be applied to a viewport. You can set the focal plane, near and far blur distances etc. The technique is based on Advanced Depth of Field.

Code: Select all

    // Add depth of field effect to the viewport
    mDepthOfFieldEffect = new DepthOfFieldEffect(mViewport);

    // Adjust focus
    mDepthOfFieldEffect->setFocalDepths(
        nearDepth, focalDepth, farDepth);
This may not be the most effective implementation. The scene is rendered twice, with different materials - once with original materials, and once with a 'depth' material - but this way it's possible to use the effect without having to rewrite any existing materials. It uses the compositor framework and render textures.

There may be problems with hardware skinning etc., though, because the effect uses the same vertex program on everything, so this will need some work, if it's going to be used with other vertex programs.

For now there's only support for OpenGL, but adding Direct3D support should be very easy.

Some pictures (not very eye-candy-ish, unfortunately):

Image
Image
Image

You can get a binary demo for Windows: dof-0.1.0-bin-win32.zip
And a source release for Linux and Windows (VS.NET 7.1): dof-0.1.0-src.tar.bz2

To compile the source you'll need Dagon from CVS from today (Mar 04, 2006) or newer.

I wish I had had the time to complete my initial idea of making a camera auto-focus like demo, where you could point the camera at any object in the scene, and the auto-focus would slowly put it into focus. That'd be a little cooler than this manual focus...

Thanks sinbad for helping on this one. :)
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Totally killer! :D

Even if I only get about FPS 0.8, it looks great! :wink:
User avatar
Jerky
Orc Shaman
Posts: 791
Joined: Wed Mar 02, 2005 4:13 am
Location: Springville, Utah
Contact:

Post by Jerky »

It crashes for me

Code: Select all

10:37:12: Finished parsing scripts for resource group Bootstrap
10:37:12: Parsing scripts for resource group General
10:37:12: Parsing script DoF.program
10:37:12: Cannot compile GLSL high-level shader : DoF_Gaussian3x3FP_GLSL ERROR: 0:23: 'const float' : cannot declare arrays of this type 
ERROR: 0:23: '=' : syntax error parse error


10:37:12: An exception has been thrown!

-----------------------------------
Details:
-----------------------------------
Error #: 9
Function: GLSLProgram::loadFromSource
Description: Cannot compile GLSL high-level shader : DoF_Gaussian3x3FP_GLSL Cannot compile GLSL high-level shader : DoF_Gaussian3x3FP_GLSL ERROR: 0:23: 'const float' : cannot declare arrays of this type 
ERROR: 0:23: '=' : syntax error parse error

. 
File: \Development\ogrenew\RenderSystems\Gl\src\Glsl\src\OgreGLSLExtSupport.cpp
Line: 58
Stack unwinding: <<beginning of stack>>
10:37:14: *-*-* OGRE Shutdown
I have a 9700 Pro. Based on the error, it doesnt seem like that is the problem, but I could be wrong.
Erik Briggs (Jerky)
My Blog
Project Wish
Image
Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Very nice demo... definitely one that should be included with ogre IMHO. Ran at 10 fps on my laptop (GeForce 6400 Go).
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19265
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

So that's what you needed it for :)

Nice work, looks very nice here on my 6800. Did you make the demo GPL on purpose? We only include demos in core OGRE that are of a very lenient license. Either way, I'm sure people will find it useful.
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Post by DWORD »

@Jerky: Sorry, I'm not a GLSL expert, so I don't know what the problem is. Maybe I used something that isn't supported on your hardware.

@Sinbad: Yeah, I hope you're not disappointed it wasn't the next big commercial release. :P

GPL on purpose, nah... that was just the easiest solution. But if you want to include it as a demo, I can just change the license to something more appropriate.
Timme
Greenskin
Posts: 122
Joined: Sun Mar 13, 2005 8:23 pm
Location: Germany

Post by Timme »

I got the same error here with my ATI Radeon 9600XT. Maybe its a problem of (older) ati cards, because the demo run well on a nvidia card. I think jacmoe has a geforce 5200 and the demo runs well on a 6800, too.
User avatar
Kencho
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4011
Joined: Fri Sep 19, 2003 6:28 pm
Location: Burgos, Spain
x 2
Contact:

Post by Kencho »

*faints* OMG!! This demo makes my old crappy DOF demo look like scrap!! Very nice work DWORD! *thumbsup*
Image
eyevee99
Greenskin
Posts: 125
Joined: Tue Jul 22, 2003 11:28 am

Post by eyevee99 »

The blur effect you're using looks great... but expensive...

:)

[removed query]

i've written a small lens class that will approximate the behaviour of a real lens using this dof system. I can't run the shader on my machine it crashes, so i really don't know if it's working, but the maths should be right so I'll link it soon for someone to play with.

:)

Now an unrealted query that's driving me insane, windows wont print " characters immediately, I have to press ' twice or " twice to get them to show. Also " followed by another character will get it to show as well. It's really @#$%ing me off.

;)
Cheers
marlboro
Kobold
Posts: 28
Joined: Fri Feb 24, 2006 11:58 am

Post by marlboro »

those screenshots look great, however i to cannot run the program i get the error as jerky, hmm so it seems it might be an issue with ATI cards, has anyone with a ATI card got this to work??

Looking forward to seeing this live :D

the two cards i have used are a ATI Radeon x550/x600 and a x1800GT neither of these worked :roll:
Last edited by marlboro on Sun Mar 05, 2006 10:05 am, edited 1 time in total.
Slicky
Bronze Sponsor
Bronze Sponsor
Posts: 610
Joined: Mon Apr 14, 2003 11:48 pm
Location: Was LA now France
x 23

Post by Slicky »

-----------------------------------
Details:
-----------------------------------
Error #: 9
Function: GLSLProgram::loadFromSource
Description: Cannot compile GLSL high-level shader : DoF_Gaussian3x3FP_GLSL Cannot compile GLSL high-level shader : DoF_Gaussian3x3FP_GLSL ERROR: 0:23: 'const float' : cannot declare arrays of this type
ERROR: 0:23: '=' : syntax error parse error
*** GL Renderer Started ***
***************************
00:09:16: Registering ResourceManager for type GpuProgram
00:09:16: GLSL support detected
00:09:16: GL: Using GL_EXT_framebuffer_object for rendering to textures (best)
00:09:16: [GL] : Valid FBO targets PF_UNKNOWN PF_R5G6B5 PF_B5G6R5 PF_A4R4G4B4 PF_A1R5G5B5 PF_R8G8B8 PF_B8G8R8 PF_A8R8G8B8 PF_B8G8R8A8 PF_A2R10G10B10 PF_A2B10G10R10 PF_FLOAT16_RGB PF_FLOAT16_RGBA PF_FLOAT32_RGB PF_FLOAT32_RGBA PF_X8R8G8B8 PF_X8B8G8R8 PF_SHORT_RGBA PF_R3G3B2
00:09:16: RenderSystem capabilities
00:09:16: -------------------------
00:09:16: * Hardware generation of mipmaps: yes
00:09:16: * Texture blending: yes
00:09:16: * Anisotropic texture filtering: yes
00:09:16: * Dot product texture operation: yes
00:09:16: * Cube mapping: yes
00:09:16: * Hardware stencil buffer: yes
00:09:16: - Stencil depth: 8
00:09:16: - Two sided stencil support: yes
00:09:16: - Wrap stencil values: yes
00:09:16: * Hardware vertex / index buffers: yes
00:09:16: * Vertex programs: yes
00:09:16: - Max vertex program version: arbvp1
00:09:16: * Fragment programs: yes
00:09:16: - Max fragment program version: arbfp1
00:09:16: * Texture Compression: yes
00:09:16: - DXT: yes
00:09:16: - VTC: no
00:09:16: * Scissor Rectangle: yes
00:09:16: * Hardware Occlusion Query: yes
00:09:16: * User clip planes: yes
00:09:16: * VET_UBYTE4 vertex element type: yes
00:09:16: * Infinite far plane projection: yes
00:09:16: * Hardware render-to-texture: yes
00:09:16: * Floating point textures: yes
00:09:16: * Non-power-of-two textures: no
00:09:16: * Volume textures: yes
00:09:16: * Multiple Render Targets: 4
00:09:16: * Max Point Size: 1024
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Post by DWORD »

Just tried on my old Radeon 9800XT, and I got the same error. I don't know how to fix it, so any ideas are welcome. It sounds to me like it doesn't like declarations of const float arrays in GLSL. :?
User avatar
ahmedismaiel
OGRE Contributor
OGRE Contributor
Posts: 217
Joined: Wed Jan 25, 2006 11:16 pm
Location: Redmond,WA

nvidia specific

Post by ahmedismaiel »

i don't know how this shader is opengl specific ,because the language in the shader is HLSL(microsoft shading language) not GLSL only nvidia shader compilers can tweak it not ATI

you can check the syntax using 3DLabs GLSL verifier.
to overcome the constant array error ,move the initializtion to the main like this

Code: Select all

const float weights[KERNEL_SIZE] = {
	1.0/16.0, 2.0/16.0, 1.0/16.0,
	2.0/16.0, 4.0/16.0, 2.0/16.0,
	1.0/16.0, 2.0/16.0, 1.0/16.0};
to

Code: Select all

float weights[KERNEL_SIZE];

Code: Select all

weights[0]=	1.0/16.0;
weights[1]= 2.0/16.0;
weights[2]= 1.0/16.0;
weights[3]=	2.0/16.0;
weights[4]= 4.0/16.0; 
weights[5]=2.0/16.0;
weights[6]=1.0/16.0;
weights[7]= 2.0/16.0; 
weights[8]=1.0/16.0;
great screen shots by the way :D ,hope to see it working and dx as well[/b]
User avatar
Longstreet
Halfling
Posts: 94
Joined: Tue Jan 20, 2004 10:41 am

Post by Longstreet »

My fx5900 has some problems:
http://andromedaspace.com/assets/files/Image1.jpg

I don't think it actually supports all shaders, so that might be the problem.
Have your machines contact my machines.
User avatar
ahmedismaiel
OGRE Contributor
OGRE Contributor
Posts: 217
Joined: Wed Jan 25, 2006 11:16 pm
Location: Redmond,WA

Post by ahmedismaiel »

it looks like a depth test race ,i don't know how this algorithm made by ati and doesn't work on ATI hardware although ruby demos working fine :roll:
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 149
Contact:

Post by spookyboo »

DWORD, Looks very cool. Just the thing my plugin needs...
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Post by DWORD »

Ok, there's a new and improved version up. :)

I included eyevee99's lens system so now the DoF should be physically correct with aperture, focal length, focal distance etc. 8)

I also added some controls to adjust the lens settings, and you can choose between auto focus, manual focus, and pinhole (turn off the effect).

The auto focus uses ray scene query (also by eyevee99), but this is not optimal as it only gives very coarse collision detection. It would be better with accurate ray/mesh collision detection, but that's a lot more work.

I also think I got the shaders working on ATI hardware using ahmedismaiel's recommendations. Unfortunately it crashes during startup when testing on my ATI machine, but I haven't been able to debug it as I don't have Visual Studio on that machine.

@Sinbad: The license changed to public domain, so if you want to include it as a demo, feel free to do so.

Finally a screenshot:

Image

And a binary Windows demo: dof-0.1.1-bin-win32.zip
Source release for Linux and Windows (VS.NET 7.1): dof-0.1.1-src.tar.bz2
Uber
Halfling
Posts: 83
Joined: Fri Feb 17, 2006 1:44 am
Location: Vancouver, BC, Canada
Contact:

Post by Uber »

looks great dword, btw if its a shader problem (alhough yuo have it fixes) why dnt you just recreat the shader in asm?
Image
Image
User avatar
IFASS
Gnome
Posts: 387
Joined: Tue Jan 04, 2005 12:07 pm
Location: Netherlands

Post by IFASS »

It works just fine here on my ATI card :)
(Ati X850Pro)
Image
User avatar
Kentamanos
Minaton
Posts: 980
Joined: Sat Aug 07, 2004 12:08 am
Location: Dallas, TX

Post by Kentamanos »

Very cool stuff DWORD and nice additions eyevee99!
DWORD wrote:Unfortunately it crashes during startup when testing on my ATI machine, but I haven't been able to debug it as I don't have Visual Studio on that machine.
Have you considered trying remote debugging? Not sure which version of VS you're using though and if it's an option.
eyevee99
Greenskin
Posts: 125
Joined: Tue Jul 22, 2003 11:28 am

Post by eyevee99 »

And just a few notes:

1. FocalLength, ties directly to FOV. When you change the FOV or FocalLength it will recalculate the other. When using this class you should pipe the FOV it generates into your camera.

We don't have the same physical limitations as a real lens, so our focal length can be anything from 0 to infinity, However your field of view will be useless below about 0.3 cm in FocalLength and eventually flip and create all kinds if nastiness.

2. FStop is the aperture of the lens. In the real world it means you're letting in more light. Which in our world means nothing as such, but the by product of aperture is that the image is being passed through more and more or the curved surface of the lens, increasing the amount of blur. So the LOWER the FStop, the HIGHER the aperture (wider the shutter on your camera), and MORE blur you get. Another way to think of it, is you get LESS Depth of Field. ie LESS of the image is in focus as the FStop DECREASES.

On a camera FStop usually goes from about 1.4 to 22. Max blur to min blur. We don't have the same physical limitations, so your FStop could be anything from 0 to infinity. You wont notice much difference above 20 though.

3. Focal Distance is the distance to the point you are focusing on (which links to FocalDepth in the shader).

4. Each set of params has an optimal focal distance. This distance is called the Hyperfocal Length. When you focus on a point >= to this distance you will have infinite depth of field beyond the focal point. ie, foreground will still blur, but you will have clear focus to infinity.


Enjoy!

:)
Cheers
robalex
Gnoblar
Posts: 22
Joined: Wed Mar 15, 2006 3:24 pm
Location: Germany
Contact:

Post by robalex »

I have NVIDIA Geforce 6800 and i have the error:
  • 15:51:41: Creating resource group General
    15:51:41: Creating resource group Internal
    15:51:41: Creating resource group Autodetect
    15:51:41: Registering ResourceManager for type Material
    15:51:41: Registering ResourceManager for type Mesh
    15:51:41: Registering ResourceManager for type Skeleton
    15:51:41: MovableObjectFactory for type 'ParticleSystem' registered.
    15:51:41: Loading library OgrePlatform.dll
    15:51:41: OverlayElementFactory for type Panel registered.
    15:51:41: OverlayElementFactory for type BorderPanel registered.
    15:51:41: OverlayElementFactory for type TextArea registered.
    15:51:41: Registering ResourceManager for type Font
    15:51:41: ArchiveFactory for archive type FileSystem registered.
    15:51:41: ArchiveFactory for archive type Zip registered.
    15:51:41: DevIL version: Developer's Image Library (DevIL) 1.6.7 Oct 28 2005
    15:51:41: DevIL image formats: bmp dib cut dcx dds gif hdr ico cur jpg jpe jpeg lif mdl mng jng pcx pic pix png pbm pgm pnm ppm psd pdd psp pxr sgi bw rgb rgba tga vda icb vst tif tiff wal xpm raw
    15:51:41: Registering ResourceManager for type HighLevelGpuProgram
    15:51:41: Registering ResourceManager for type Compositor
    15:51:41: MovableObjectFactory for type 'Entity' registered.
    15:51:41: MovableObjectFactory for type 'Light' registered.
    15:51:41: MovableObjectFactory for type 'BillboardSet' registered.
    15:51:41: MovableObjectFactory for type 'ManualObject' registered.
    15:51:41: MovableObjectFactory for type 'BillboardChain' registered.
    15:51:41: MovableObjectFactory for type 'RibbonTrail' registered.
    15:51:41: Loading library .\RenderSystem_GL
    15:51:41: OpenGL Rendering Subsystem created.
    15:51:42: *-*-* OGRE Initialising
    15:51:42: *-*-* Version 1.1.0 (Dagon)
    15:51:42: Creating resource group Bootstrap
    15:51:42: Added resource location 'media/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
    15:51:42: Added resource location 'media' of type 'FileSystem' to resource group 'General'
    15:51:42: *** Starting Win32GL Subsystem ***
    15:51:42: GLRenderSystem::createRenderWindow "OGRE Render Window", 1024x768 windowed miscParams: FSAA=0 colourDepth=32 vsync=false
    15:51:42: Created Win32Window 'OGRE Render Window' : 1024x768, 32bpp
    15:51:42: GL_VERSION = 1.5.3
    15:51:42: GL_VENDOR = NVIDIA Corporation
    15:51:42: GL_RENDERER = GeForce Go 6600/PCI/SSE2
    15:51:42: GL_EXTENSIONS = GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_vertex_array GL_HP_occlusion_test GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
    15:51:42: Supported WGL extensions: WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format WGL_ARB_render_texture WGL_ATI_pixel_format_float WGL_EXT_extensions_string WGL_EXT_swap_control WGL_NV_float_buffer WGL_NV_render_depth_texture WGL_NV_render_texture_rectangle
    15:51:42: ***************************
    *** GL Renderer Started ***
    ***************************
    15:51:42: Registering ResourceManager for type GpuProgram
    15:51:42: GLSL support detected
    15:51:42: GL: Using PBuffers for rendering to textures
    15:51:42: RenderSystem capabilities
    15:51:42: -------------------------
    15:51:42: * Hardware generation of mipmaps: yes
    15:51:42: * Texture blending: yes
    15:51:42: * Anisotropic texture filtering: yes
    15:51:42: * Dot product texture operation: yes
    15:51:42: * Cube mapping: yes
    15:51:42: * Hardware stencil buffer: yes
    15:51:42: - Stencil depth: 8
    15:51:42: - Two sided stencil support: yes
    15:51:42: - Wrap stencil values: yes
    15:51:42: * Hardware vertex / index buffers: yes
    15:51:42: * Vertex programs: yes
    15:51:42: - Max vertex program version: vp40
    15:51:42: * Fragment programs: yes
    15:51:42: - Max fragment program version: fp40
    15:51:42: * Texture Compression: yes
    15:51:42: - DXT: yes
    15:51:42: - VTC: yes
    15:51:42: * Scissor Rectangle: yes
    15:51:42: * Hardware Occlusion Query: yes
    15:51:42: * User clip planes: yes
    15:51:42: * VET_UBYTE4 vertex element type: yes
    15:51:42: * Infinite far plane projection: yes
    15:51:42: * Hardware render-to-texture: yes
    15:51:42: * Floating point textures: yes
    15:51:42: * Non-power-of-two textures: yes
    15:51:42: * Volume textures: yes
    15:51:42: * Multiple Render Targets: 1
    15:51:42: * Max Point Size: 63.375
    15:51:42: Registering ResourceManager for type Texture
    15:51:42: ResourceBackgroundQueue - threading disabled
    15:51:42: Particle Renderer Type 'billboard' registered
    15:51:42: Creating viewport on target 'OGRE Render Window', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
    15:51:42: Viewport for camera 'PlayerCam', actual dimensions L: 0 T: 0 W: 1024 H: 768
    15:51:42: Parsing scripts for resource group Autodetect
    15:51:42: Finished parsing scripts for resource group Autodetect
    15:51:42: Parsing scripts for resource group Bootstrap
    15:51:42: Parsing script OgreCore.material
    15:51:42: Parsing script OgreProfiler.material
    15:51:42: Parsing script Ogre.fontdef
    15:51:42: Parsing script OgreDebugPanel.overlay
    15:51:42: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8B8G8R8,256x128x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
    15:51:42: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8B8G8R8,256x256x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
    15:51:42: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
    15:51:42: Font TrebuchetMSBoldusing texture size 512x512
    15:51:42: Info: Freetype returned null for character 160 in font TrebuchetMSBold
    15:51:42: Texture: TrebuchetMSBoldTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with hardware generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
    15:51:42: Texture: ogretext.png: Loading 1 faces(PF_A8B8G8R8,256x128x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
    15:51:42: Parsing script OgreLoadingPanel.overlay
    15:51:42: Finished parsing scripts for resource group Bootstrap
    15:51:42: Parsing scripts for resource group General
    15:51:42: Parsing script DoF.program
    15:51:42: DoF_Gaussian3x3FP_GLSL : GLSL compiled

    15:51:42: DoF_DepthOfFieldFP_GLSL : GLSL compiled

    15:51:42: Parsing script DoF.material
    15:51:42: DoF_DepthVP_GLSL : GLSL compiled

    15:51:42: DoF_DepthFP_GLSL : GLSL compiled

    15:51:42: Parsing script Example.material
    15:51:42: Error in material Examples/Robot at line 617 of Example.material: Invalid vertex_program_ref entry - vertex program Ogre/HardwareSkinningOneWeight has not been defined.
    15:51:42: Error in material Examples/Robot at line 629 of Example.material: Invalid shadow_caster_vertex_program_ref entry - vertex program Ogre/HardwareSkinningOneWeightShadowCaster has not been defined.
    15:51:42: An exception has been thrown!

    -----------------------------------
    Details:
    -----------------------------------
    Error #: 7
    Function: HighLevelGpuProgramManager::getFactory
    Description: Cannot find factory for language 'cg'.
    File: \Development\ogrenew\OgreMain\src\OgreHighLevelGpuProgramManager.cpp
    Line: 72
    Stack unwinding: <<beginning of stack>>
    15:51:42: Error at line 677 of Example.material: Could not create GPU program 'Examples/GrassWaverVp', error reported was: An exception has been thrown!

    -----------------------------------
    Details:
    -----------------------------------
    Error #: 7
    Function: HighLevelGpuProgramManager::getFactory
    Description: Cannot find factory for language 'cg'.
    File: \Development\ogrenew\OgreMain\src\OgreHighLevelGpuProgramManager.cpp
    Line: 72
    Stack unwinding: <<beginning of stack>>
    15:51:42: Error in material Examples/GrassBlades at line 686 of Example.material: Invalid vertex_program_ref entry - vertex program Examples/GrassWaverVp has not been defined.
    15:51:42: Error in material Examples/HardwareMorphAnimation at line 764 of Example.material: Invalid vertex_program_ref entry - vertex program Ogre/HardwareMorphAnimation has not been defined.
    15:51:42: Error in material Examples/HardwarePoseAnimation at line 799 of Example.material: Invalid vertex_program_ref entry - vertex program Ogre/HardwarePoseAnimation has not been defined.
    15:51:42: Parsing script Ogre.material
    15:51:42: Parsing script DoF.overlay
    15:51:42: Texture: focus.png: Loading 1 faces(PF_A8B8G8R8,128x128x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x128x1.
    15:51:42: Finished parsing scripts for resource group General
    15:51:42: Parsing scripts for resource group Internal
    15:51:42: Finished parsing scripts for resource group Internal
    15:51:42: Texture: RustySteel.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
    15:51:42: Mesh: Loading ogrehead.mesh.
    15:51:42: Texture: WeirdEye.png: Loading 1 faces(PF_B8G8R8,256x256x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
    15:51:42: Texture: GreenSkin.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
    15:51:42: Texture: spheremap.png: Loading 1 faces(PF_B8G8R8,256x256x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
    15:51:42: Texture: dirt01.jpg: Loading 1 faces(PF_B8G8R8,96x96x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,96x96x1.
    15:51:42: Win32PBuffer::Creating PBuffer of format bits=8 float=false
    15:51:42: Win32PBuffer::PBuffer -- Chosen pixel format rgba=8,8,8,8 depth=24 stencil=8
    15:51:42: Win32RenderTexture::PBuffer created -- Real dimensions 1024x768
    15:51:42: Creating viewport on target 'DoF_Depth/0/0/0', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
    15:51:42: Viewport for camera 'PlayerCam', actual dimensions L: 0 T: 0 W: 1024 H: 768
    15:51:42: Creating viewport on target 'CompositorInstanceTexture0/0/0/0', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
    15:51:42: Viewport for camera 'PlayerCam', actual dimensions L: 0 T: 0 W: 1024 H: 768
    15:51:42: Creating viewport on target 'CompositorInstanceTexture1/0/0/0', rendering from camera 'PlayerCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
    15:51:42: Viewport for camera 'PlayerCam', actual dimensions L: 0 T: 0 W: 256 H: 192
    15:51:42: WARNING: Texture instance 'DoF_Depth' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
    15:51:42: Win32Input8: DirectInput Activation Starts
    15:51:42: Win32Input8: Establishing keyboard input.
    15:51:42: Win32Input8: Keyboard input established.
    15:51:42: Win32Input8: Initializing mouse input in immediate mode.
    15:51:42: Win32Input8: Mouse input in immediate mode initialized.
    15:51:42: Win32Input8: DirectInput OK.
    15:51:42: GLSL link result :

    15:51:42: WARNING: Texture instance 'CompositorInstanceTexture0' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
    15:51:42: WARNING: Texture instance 'CompositorInstanceTexture1' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
    15:51:42: GLSL link result :

    15:51:43: Error linking GLSL Program ObjectFragment info
    -------------
    (68) : fatal error C9999: *** exception during compilation ***


    15:51:43: An exception has been thrown!

    -----------------------------------
    Details:
    -----------------------------------
    Error #: 9
    Function: GLSLLinkProgram::Activate
    Description: Error linking GLSL Program ObjectError linking GLSL Program ObjectFragment info
    -------------
    (68) : fatal error C9999: *** exception during compilation ***

    .
    File: \Development\ogrenew\RenderSystems\Gl\src\Glsl\src\OgreGLSLExtSupport.cpp
    Line: 58
    Stack unwinding: <<beginning of stack>>
    15:51:44: Render Target 'CompositorInstanceTexture0/0/0/0' Average FPS: 0 Best FPS: 0 Worst FPS: 999
    15:51:44: Render Target 'CompositorInstanceTexture1/0/0/0' Average FPS: 0 Best FPS: 0 Worst FPS: 999
    15:51:44: Render Target 'DoF_Depth/0/0/0' Average FPS: 0 Best FPS: 0 Worst FPS: 999
    15:51:44: *-*-* OGRE Shutdown
    15:51:44: Unregistering ResourceManager for type Compositor
    15:51:44: Unregistering ResourceManager for type Font
    15:51:44: Unregistering ResourceManager for type Skeleton
    15:51:44: Unregistering ResourceManager for type Mesh
    15:51:44: Unregistering ResourceManager for type HighLevelGpuProgram
    15:51:44: Render Target 'OGRE Render Window' Average FPS: 0 Best FPS: 0 Worst FPS: 999
    15:51:44: Unregistering ResourceManager for type GpuProgram
    15:51:44: *** Stopping Win32GL Subsystem ***
    15:51:44: Unregistering ResourceManager for type Texture
    15:51:44: Unloading library .\RenderSystem_GL
    15:51:45: Unregistering ResourceManager for type Material
    15:51:45: Unloading library OgrePlatform.dll
what does it means?
User avatar
Phantom
Greenskin
Posts: 106
Joined: Mon Aug 02, 2004 10:28 pm
Location: Helsinki, Finland

Post by Phantom »

Radeon 9800 pro, crashes :(

heres the error log:
http://rafb.net/paste/results/QqtXqH83.html
User avatar
SunSailor
Gnoll
Posts: 699
Joined: Sun Jan 02, 2005 5:45 pm
Location: Velbert, Germany
x 2
Contact:

Post by SunSailor »

Same error here, would guess a packaging error.

Edit: Added the missing files manually, edited the plugin.cfg, but then it is missing the grass.cg file... Could you please check your packaging again, as we're shurly are all *very* interested in this thing :-)
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Post by DWORD »

It shouldn't require those files. It's been running fine without them all the time, and resource loading doesn't differ between nVidia/ATI. I'm afraid it's not possible to see the actual error in the log. If you could build the demo from source and debug it, and maybe post a stacktrace from just before the error happens, I would be grateful. If you find a fix, please let me know.

Edit: Hm ok, I see there's an error on nVidia too. I'll check if I can run the demo with the current version of Ogre...

Edit edit: Just tried with Ogre 1.2 RC1 on Windows with my GeForce Go 6800 Ultra, and it runs fine, so I guess I depend on you to find the error.
Post Reply