ARudik / gamekit

Automatically exported from code.google.com/p/gamekit
0 stars 0 forks source link

GLSL support #97

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Enable GLSL inside blender
2. Setup scene for GLSL use,save
3. Load with OgreKit.exe

What is the expected output? What do you see instead?
All GLSL features supported by BGE including normal maps.

What version of the product are you using? On what operating system?
r505 no-dx windows.

Please provide any additional information below.

Original issue reported on code.google.com by delaneyg...@gmail.com on 3 Sep 2010 at 8:45

GoogleCodeExporter commented 9 years ago
Hi, I am an user with same problem.
I'm trying to compile a advanced GLSL program to improve performance.
The problem on  file  OffsetMapping_specular.asm with normalmap examples of 
OGRE library

My graphic card is a NVidia GeForce GTS 250 and i'm using Ubuntu Studio 10.04 
operation system.

The complete log of file is this (additional information):

Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
FreeImage version: 3.13.0
This program uses FreeImage, a free, open source image library supporting all 
common bitmap formats. See http://freeimage.sourceforge.net for details
Supported formats: 
bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm
,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,
jp2,pfm,pct,pict,pic,bay,bmq,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,k25,kdc,mdc,mos
,mrw,nef,orf,pef,pxn,raf,raw,rdc,sr2,srf,arw,3fr,cine,ia,kc2,mef,nrw,qtk,rw2,sti
,drf,dsc,ptx,cap,iiq,rwz
DDS codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
*-*-* OGRE Initialising
*-*-* Version 1.7.0RC1 (Cthugha)
Installing plugin: GL RenderSystem
OpenGL Rendering Subsystem created.
Plugin successfully installed
Installing plugin: ParticleFX
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
Plugin successfully installed
CPU Identifier & Features
-------------------------
 *   CPU ID: GenuineIntel: Intel(R) Core(TM)2 Quad  CPU   Q9300  @ 2.50GHz
 *      SSE: yes
 *     SSE2: yes
 *     SSE3: yes
 *      MMX: yes
 *   MMXEXT: yes
 *    3DNOW: no
 * 3DNOWEXT: no
 *     CMOV: yes
 *      TSC: yes
 *      FPU: yes
 *      PRO: yes
 *       HT: no
-------------------------
******************************
*** Starting GLX Subsystem ***
******************************
GLXWindow::create used FBConfigID = 117
GL_VERSION = 3.2.0 NVIDIA 195.36.24
GL_VENDOR = NVIDIA Corporation
GL_RENDERER = GeForce GTS 250/PCI/SSE2
GL_EXTENSIONS = GL_ARB_color_buffer_float GL_ARB_compatibility 
GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_depth_clamp 
GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex 
GL_ARB_draw_instanced GL_ARB_fragment_coord_conventions GL_ARB_fragment_program 
GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object 
GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_half_float_pixel 
GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_map_buffer_range 
GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query 
GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite 
GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects 
GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync 
GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object 
GL_ARB_texture_compression GL_ARB_texture_compression_rgtc 
GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine 
GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float 
GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample 
GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg 
GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra 
GL_ARB_vertex_array_object 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_bindable_uniform 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_direct_state_access GL_EXT_draw_buffers2 
GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord 
GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample 
GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_object 
GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters 
GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil 
GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object 
GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal 
GL_EXT_secondary_color GL_EXT_separate_shader_objects 
GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side 
GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array 
GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc 
GL_EXT_texture_compression_rgtc 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_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias 
GL_EXT_texture_mirror_clamp GL_EXT_texture_object 
GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_swizzle 
GL_EXT_timer_query GL_EXT_vertex_array GL_EXT_vertex_array_bgra 
GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region 
GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color 
GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp 
GL_NV_explicit_multisample 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_framebuffer_multisample_coverage GL_NV_geometry_shader4 
GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent 
GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query 
GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object 
GL_NV_parameter_buffer_object2 GL_NV_pixel_data_range GL_NV_point_sprite 
GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 
GL_NV_shader_buffer_load GL_NV_texgen_reflection GL_NV_texture_barrier 
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_transform_feedback 
GL_NV_vertex_array_range GL_NV_vertex_array_range2 
GL_NV_vertex_buffer_unified_memory 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_NVX_gpu_memory_info GL_SGIS_generate_mipmap 
GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum 
Supported GLX extensions: GLX_EXT_visual_info GLX_EXT_visual_rating 
GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGI_video_sync GLX_SGI_swap_control 
GLX_EXT_swap_control GLX_EXT_texture_from_pixmap GLX_ARB_create_context 
GLX_ARB_create_context_profile GLX_ARB_multisample GLX_NV_float_buffer 
GLX_ARB_fbconfig_float GLX_EXT_framebuffer_sRGB GLX_ARB_get_proc_address 
***************************
*** GL Renderer Started ***
***************************
Registering ResourceManager for type GpuProgram
GLSL support detected
GL: Using GL_EXT_framebuffer_object for rendering to textures (best)
FBO PF_UNKNOWN depth/stencil support: D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_L8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A4L4 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_BYTE_LA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_R5G6B5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_B5G6R5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A1R5G5B5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_B8G8R8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A8R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_B8G8R8A8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A2R10G10B10 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_A2B10G10R10 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT16_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT16_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT32_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT32_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_X8R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_X8B8G8R8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_SHORT_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_R3G3B2 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT16_R depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT32_R depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT16_GR depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_FLOAT32_GR depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
FBO PF_SHORT_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8 
[GL] : Valid FBO targets PF_UNKNOWN PF_L8 PF_A8 PF_A4L4 PF_BYTE_LA PF_R5G6B5 
PF_B5G6R5 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 PF_FLOAT16_R 
PF_FLOAT32_R PF_FLOAT16_GR PF_FLOAT32_GR PF_SHORT_RGB 
RenderSystem capabilities
-------------------------
RenderSystem Name: OpenGL Rendering Subsystem
GPU Vendor: nvidia
Device Name: GeForce GTS 250/PCI/SSE2
Driver Version: 3.2.0.0
 * Fixed function pipeline: yes
 * Hardware generation of mipmaps: yes
 * Texture blending: yes
 * Anisotropic texture filtering: yes
 * Dot product texture operation: yes
 * Cube mapping: yes
 * Hardware stencil buffer: yes
   - Stencil depth: 8
   - Two sided stencil support: yes
   - Wrap stencil values: yes
 * Hardware vertex / index buffers: yes
 * Vertex programs: yes
 * Number of floating-point constants for vertex programs: 1024
 * Number of integer constants for vertex programs: 0
 * Number of boolean constants for vertex programs: 0
 * Fragment programs: yes
 * Number of floating-point constants for fragment programs: 512
 * Number of integer constants for fragment programs: 0
 * Number of boolean constants for fragment programs: 0
 * Geometry programs: yes
 * Number of floating-point constants for geometry programs: 512
 * Number of integer constants for geometry programs: 0
 * Number of boolean constants for geometry programs: 0
 * Supported Shader Profiles: arbfp1 arbvp1 fp20 fp30 fp40 glsl gp4gp gpu_gp nvgp4 vp30 vp40
 * Texture Compression: yes
   - DXT: yes
   - VTC: yes
   - PVRTC: no
 * Scissor Rectangle: yes
 * Hardware Occlusion Query: yes
 * User clip planes: yes
 * VET_UBYTE4 vertex element type: yes
 * Infinite far plane projection: yes
 * Hardware render-to-texture: yes
 * Floating point textures: yes
 * Non-power-of-two textures: yes
 * Volume textures: yes
 * Multiple Render Targets: 8
   - With different bit depths: yes
 * Point Sprites: yes
 * Extended point parameters: yes
 * Max Point Size: 63.375
 * Vertex texture fetch: yes
 * Number of world matrices: 0
 * Number of texture units: 32
 * Stencil buffer depth: 8
 * Number of vertex blend matrices: 0
   - Max vertex textures: 32
   - Vertex textures shared: yes
 * Render to Vertex Buffer : yes
 * GL 1.5 without VBO workaround: no
 * Frame Buffer objects: yes
 * Frame Buffer objects (ARB extension): no
 * Frame Buffer objects (ATI extension): no
 * PBuffer support: no
 * GL 1.5 without HW-occlusion workaround: no
Registering ResourceManager for type Texture
DefaultWorkQueue('Root') initialising on thread main.
Particle Renderer Type 'billboard' registered
Creating resource group <gkBuiltin>
Font <gkBuiltin/Font>using texture size 256x256
Info: Freetype returned null for character 160 in font <gkBuiltin/Font>
Texture: <gkBuiltin/Font>Texture: Loading 1 faces(PF_BYTE_LA,256x256x1) with 0 
generated mipmaps from Image. Internal format is PF_BYTE_LA,256x256x1.
BLENDER-v252

sizeof(void*) == 8
Swapping endian? no
File format is 64 bit
Varing pointer sizes? no
swap = 0
swap = 0
Building datablocks
Chunk size = 24
File chunk size = 24
resolvePointers start
resolvePointers end
numAllocs = 1114
Compiler error: object unsupported by render system in (18)
Compiler error: reference to a non existing object in (37)
High-level program Examples/OffsetMappingIntegratedShadowsFPglsl encountered an 
error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource 
OffsetMappingFp.glsl in resource group General or any other group. in 
ResourceGroupManager::openResource at 
/home/xavier/Projects/Gamekit/gamekit-release/OgreLite/OgreMain/src/OgreResource
GroupManager.cpp (line 752)
Compiler error: invalid parameters in (166): setting of constant failed
Compiler error: invalid parameters in (167): setting of constant failed
Compiler error: invalid parameters in (168): setting of constant failed
Compiler error: invalid parameters in (169): setting of constant failed
High-level program Examples/OffsetMappingIntegratedShadowsVPglsl encountered an 
error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource 
OffsetMappingVp.glsl in resource group General or any other group. in 
ResourceGroupManager::openResource at 
/home/xavier/Projects/Gamekit/gamekit-release/OgreLite/OgreMain/src/OgreResource
GroupManager.cpp (line 752)
Compiler error: invalid parameters in (199): setting of constant failed
Compiler error: invalid parameters in (200): setting of constant failed
Compiler error: invalid parameters in (201): setting of constant failed
Compiler error: invalid parameters in (202): setting of constant failed
Compiler error: invalid parameters in (204): setting of constant failed
Compiler error: invalid parameters in (205): setting of constant failed
Compiler error: invalid parameters in (207): setting of constant failed
Compiler error: invalid parameters in (208): setting of constant failed
Compiler error: invalid parameters in (209): setting of constant failed
Texture: rockwall_NH.tga: Loading 1 faces(PF_A8R8G8B8,64x64x1) with 6 generated 
mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
Texture: rockwalldnn4.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 9 
generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
Texture: spot_shadow_fade.png: Loading 1 faces(PF_R8G8B8,128x128x1) with 7 
generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
DefaultWorkQueue('Root') shutting down on thread main.
*-*-* OGRE Shutdown
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Font
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Unregistering ResourceManager for type GpuProgram
******************************
*** Stopping GLX Subsystem ***
******************************
Unregistering ResourceManager for type Texture
Unregistering ResourceManager for type Material

Original comment by marcosbi...@gmail.com on 11 Sep 2010 at 5:35

GoogleCodeExporter commented 9 years ago
I was watching the live streaming of the BConf speech about naali/realXtend.
Their projects are BSD license style and have a Cg supershader with support for 
difuse/normalmap/parralax/reflexion shader and blender exporter.
https://sim.lorea.org/pg/pages/view/138/

On the Gamekit Thread on BlenderArtists guru said he had a patch for Cg 
compositing filter with a working SSAO fragment program and was working on 
using this for deferred shading. I invited him to post his patch here.

BA is down for the moment, I will post the link later.

Original comment by xavier.thomas.1980@gmail.com on 1 Nov 2010 at 2:18

GoogleCodeExporter commented 9 years ago
I was wondering what was the current status for the GLSL Support.

Thanks in advance!

Original comment by Silverk...@gmail.com on 3 Mar 2011 at 2:28

GoogleCodeExporter commented 9 years ago
Currently, GLSL can be supported by custom Ogre material script.
You can see HLSL sample here, Samples/Runtime/Samples/OgreNormalHLSL.blend

I have a plan that integrate Ogre1.8 RTShaderSystem to OgreKit.
If it is done, some shader features can be support likes a normal map display 
without custom Ogre material script.

Original comment by harkon...@gmail.com on 3 Mar 2011 at 3:50

GoogleCodeExporter commented 9 years ago
Great! Thanks for the feedback!

Original comment by Silverk...@gmail.com on 3 Mar 2011 at 6:43

GoogleCodeExporter commented 9 years ago
Unfortunately the sample mentioned by harkon.kr doesn't work for me.
After setting the engine to 'Gamekit' and the runtime path to:
./OgreKit/OgreKit-NoDX.exe

I get the following error:
"BlendLoader: Ogre exception: Cannot locate resource 1PerPixel.material in 
resource group General or any other group."

I'm working on Windows 7 with "Gamekit-blender-2.54-beta-windows32-4" and the 
latest SVN checkout (861).

Original comment by yout...@amaasbier.de on 15 Mar 2011 at 12:55

GoogleCodeExporter commented 9 years ago
You should run with OgreKit.exe & d3d renderer, not OgreKit-NoDX.exe.
OgreNormalHLSL.blend is a HLSL sample, not GLSL.

OgreKit-NoDX don't have d3d renderer & below r790 in download sections.

Try with r851 runtime in OgreKit-Samples-Bin-Win32(r851).7z.

Original comment by harkon...@gmail.com on 15 Mar 2011 at 4:27