Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scene Manager unexpected behavior, returns NULL instead of new node ptr, no warnings/errors #427

Open
goforbroke1006 opened this issue Dec 25, 2023 · 7 comments

Comments

@goforbroke1006
Copy link

goforbroke1006 commented Dec 25, 2023

System Information

  • Ogre Version: 2.3.3
  • Operating System / Platform: Ubuntu 22
  • RenderSystem: OpenGL 3+
  • GPU: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz

Detailled description

Scene Manager on createChildSceneNode returns NULL.
https://github.com/goforbroke1006/hello-ogre-next/blob/devel/main.cpp
Row 123

auto *mSceneNode = gSceneManager->getRootSceneNode(Ogre::SCENE_DYNAMIC)
            ->createChildSceneNode(Ogre::SCENE_DYNAMIC);

Ogre.log

23:52:23: Creating resource group General
23:52:23: Creating resource group Internal
23:52:23: Creating resource group Autodetect
23:52:23: SceneManagerFactory for type 'DefaultSceneManager' registered.
23:52:23: Registering ResourceManager for type Material
23:52:23: Registering ResourceManager for type Mesh
23:52:23: Registering ResourceManager for type Mesh2
23:52:23: Registering ResourceManager for type OldSkeleton
23:52:23: MovableObjectFactory for type 'ParticleSystem' registered.
23:52:23: ArchiveFactory for archive type FileSystem registered.
23:52:23: ArchiveFactory for archive type Zip registered.
23:52:23: ArchiveFactory for archive type EmbeddedZip registered.
23:52:23: DDS codec registering
23:52:23: FreeImage version: 3.18.0
23:52:23: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
23:52:23: 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,psb,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
23:52:23: OITD codec registering
23:52:23: Registering ResourceManager for type HighLevelGpuProgram
23:52:23: MovableObjectFactory for type 'Decal' registered.
23:52:23: MovableObjectFactory for type 'InternalCubemapProbe' registered.
23:52:23: MovableObjectFactory for type 'Entity' registered.
23:52:23: MovableObjectFactory for type 'Item' registered.
23:52:23: MovableObjectFactory for type 'Light' registered.
23:52:23: MovableObjectFactory for type 'Rectangle2Dv2' registered.
23:52:23: MovableObjectFactory for type 'BillboardSet' registered.
23:52:23: MovableObjectFactory for type 'ManualObject2' registered.
23:52:23: MovableObjectFactory for type 'BillboardChain' registered.
23:52:23: MovableObjectFactory for type 'RibbonTrail' registered.
23:52:23: MovableObjectFactory for type 'WireAabb' registered.
23:52:23: Loading library /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/build/Debug/lib/RenderSystem_GL3Plus_d
23:52:23: Installing plugin: GL 3+ RenderSystem
23:52:23: OpenGL 3+ Rendering Subsystem created.
23:52:23: Plugin successfully installed
23:52:23: Loading library /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/build/Debug/lib/Plugin_ParticleFX_d
23:52:23: Installing plugin: ParticleFX
23:52:23: Particle Emitter Type 'Point' registered
23:52:23: Particle Emitter Type 'Box' registered
23:52:23: Particle Emitter Type 'Ellipsoid' registered
23:52:23: Particle Emitter Type 'Cylinder' registered
23:52:23: Particle Emitter Type 'Ring' registered
23:52:23: Particle Emitter Type 'HollowEllipsoid' registered
23:52:23: Particle Affector Type 'LinearForce' registered
23:52:23: Particle Affector Type 'ColourFader' registered
23:52:23: Particle Affector Type 'ColourFader2' registered
23:52:23: Particle Affector Type 'ColourImage' registered
23:52:23: Particle Affector Type 'ColourInterpolator' registered
23:52:23: Particle Affector Type 'Scaler' registered
23:52:23: Particle Affector Type 'Rotator' registered
23:52:23: Particle Affector Type 'DirectionRandomiser' registered
23:52:23: Particle Affector Type 'DeflectorPlane' registered
23:52:23: Plugin successfully installed
23:52:23: *-*-* OGRE Initialising
23:52:23: *-*-* Version 2.3.3 (Daedalus)
23:52:23: CPU Identifier & Features
23:52:23: -------------------------
23:52:23:  *   CPU ID: GenuineIntel: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
23:52:23:  *   Logical cores: 12
23:52:23:  *      SSE: yes
23:52:23:  *     SSE2: yes
23:52:23:  *     SSE3: yes
23:52:23:  *      MMX: yes
23:52:23:  *   MMXEXT: yes
23:52:23:  *    3DNOW: no
23:52:23:  * 3DNOWEXT: no
23:52:23:  *     CMOV: yes
23:52:23:  *      TSC: yes
23:52:23:  *      FPU: yes
23:52:23:  *      PRO: yes
23:52:23:  *       HT: no
23:52:23: -------------------------
23:52:23: ******************************
*** Starting GLX Subsystem ***
******************************
23:52:23: Created GL 4.5 context
23:52:23: GLXWindow::create used FBConfigID = 839
23:52:23: GL Version = 4.6.0.0
23:52:23: GL_VERSION = 4.6 (Core Profile) Mesa 23.0.4-0ubuntu1~22.04.1
23:52:23: GL_VENDOR = Intel
23:52:23: GL_RENDERER = Mesa Intel(R) UHD Graphics (CML GT2)
23:52:23: GL_EXTENSIONS = 
23:52:23: GL_3DFX_texture_compression_FXT1
23:52:23: GL_AMD_conservative_depth
23:52:23: GL_AMD_depth_clamp_separate
23:52:23: GL_AMD_draw_buffers_blend
23:52:23: GL_AMD_gpu_shader_int64
23:52:23: GL_AMD_multi_draw_indirect
23:52:23: GL_AMD_performance_monitor
23:52:23: GL_AMD_pinned_memory
23:52:23: GL_AMD_query_buffer_object
23:52:23: GL_AMD_seamless_cubemap_per_texture
23:52:23: GL_AMD_shader_stencil_export
23:52:23: GL_AMD_shader_trinary_minmax
23:52:23: GL_AMD_texture_texture4
23:52:23: GL_AMD_vertex_shader_layer
23:52:23: GL_AMD_vertex_shader_viewport_index
23:52:23: GL_ANGLE_texture_compression_dxt3
23:52:23: GL_ANGLE_texture_compression_dxt5
23:52:23: GL_ARB_ES2_compatibility
23:52:23: GL_ARB_ES3_1_compatibility
23:52:23: GL_ARB_ES3_2_compatibility
23:52:23: GL_ARB_ES3_compatibility
23:52:23: GL_ARB_arrays_of_arrays
23:52:23: GL_ARB_base_instance
23:52:23: GL_ARB_blend_func_extended
23:52:23: GL_ARB_buffer_storage
23:52:23: GL_ARB_clear_buffer_object
23:52:23: GL_ARB_clear_texture
23:52:23: GL_ARB_clip_control
23:52:23: GL_ARB_compressed_texture_pixel_storage
23:52:23: GL_ARB_compute_shader
23:52:23: GL_ARB_compute_variable_group_size
23:52:23: GL_ARB_conditional_render_inverted
23:52:23: GL_ARB_conservative_depth
23:52:23: GL_ARB_copy_buffer
23:52:23: GL_ARB_copy_image
23:52:23: GL_ARB_cull_distance
23:52:23: GL_ARB_debug_output
23:52:23: GL_ARB_depth_buffer_float
23:52:23: GL_ARB_depth_clamp
23:52:23: GL_ARB_derivative_control
23:52:23: GL_ARB_direct_state_access
23:52:23: GL_ARB_draw_buffers
23:52:23: GL_ARB_draw_buffers_blend
23:52:23: GL_ARB_draw_elements_base_vertex
23:52:23: GL_ARB_draw_indirect
23:52:23: GL_ARB_draw_instanced
23:52:23: GL_ARB_enhanced_layouts
23:52:23: GL_ARB_explicit_attrib_location
23:52:23: GL_ARB_explicit_uniform_location
23:52:23: GL_ARB_fragment_coord_conventions
23:52:23: GL_ARB_fragment_layer_viewport
23:52:23: GL_ARB_fragment_shader
23:52:23: GL_ARB_fragment_shader_interlock
23:52:23: GL_ARB_framebuffer_no_attachments
23:52:23: GL_ARB_framebuffer_object
23:52:23: GL_ARB_framebuffer_sRGB
23:52:23: GL_ARB_get_program_binary
23:52:23: GL_ARB_get_texture_sub_image
23:52:23: GL_ARB_gl_spirv
23:52:23: GL_ARB_gpu_shader5
23:52:23: GL_ARB_gpu_shader_fp64
23:52:23: GL_ARB_gpu_shader_int64
23:52:23: GL_ARB_half_float_pixel
23:52:23: GL_ARB_half_float_vertex
23:52:23: GL_ARB_indirect_parameters
23:52:23: GL_ARB_instanced_arrays
23:52:23: GL_ARB_internalformat_query
23:52:23: GL_ARB_internalformat_query2
23:52:23: GL_ARB_invalidate_subdata
23:52:23: GL_ARB_map_buffer_alignment
23:52:23: GL_ARB_map_buffer_range
23:52:23: GL_ARB_multi_bind
23:52:23: GL_ARB_multi_draw_indirect
23:52:23: GL_ARB_occlusion_query2
23:52:23: GL_ARB_parallel_shader_compile
23:52:23: GL_ARB_pipeline_statistics_query
23:52:23: GL_ARB_pixel_buffer_object
23:52:23: GL_ARB_point_sprite
23:52:23: GL_ARB_polygon_offset_clamp
23:52:23: GL_ARB_post_depth_coverage
23:52:23: GL_ARB_program_interface_query
23:52:23: GL_ARB_provoking_vertex
23:52:23: GL_ARB_query_buffer_object
23:52:23: GL_ARB_robust_buffer_access_behavior
23:52:23: GL_ARB_robustness
23:52:23: GL_ARB_sample_shading
23:52:23: GL_ARB_sampler_objects
23:52:23: GL_ARB_seamless_cube_map
23:52:23: GL_ARB_seamless_cubemap_per_texture
23:52:23: GL_ARB_separate_shader_objects
23:52:23: GL_ARB_shader_atomic_counter_ops
23:52:23: GL_ARB_shader_atomic_counters
23:52:23: GL_ARB_shader_ballot
23:52:23: GL_ARB_shader_bit_encoding
23:52:23: GL_ARB_shader_clock
23:52:23: GL_ARB_shader_draw_parameters
23:52:23: GL_ARB_shader_group_vote
23:52:23: GL_ARB_shader_image_load_store
23:52:23: GL_ARB_shader_image_size
23:52:23: GL_ARB_shader_objects
23:52:23: GL_ARB_shader_precision
23:52:23: GL_ARB_shader_stencil_export
23:52:23: GL_ARB_shader_storage_buffer_object
23:52:23: GL_ARB_shader_subroutine
23:52:23: GL_ARB_shader_texture_image_samples
23:52:23: GL_ARB_shader_texture_lod
23:52:23: GL_ARB_shader_viewport_layer_array
23:52:23: GL_ARB_shading_language_420pack
23:52:23: GL_ARB_shading_language_include
23:52:23: GL_ARB_shading_language_packing
23:52:23: GL_ARB_spirv_extensions
23:52:23: GL_ARB_stencil_texturing
23:52:23: GL_ARB_sync
23:52:23: GL_ARB_tessellation_shader
23:52:23: GL_ARB_texture_barrier
23:52:23: GL_ARB_texture_buffer_object
23:52:23: GL_ARB_texture_buffer_object_rgb32
23:52:23: GL_ARB_texture_buffer_range
23:52:23: GL_ARB_texture_compression_bptc
23:52:23: GL_ARB_texture_compression_rgtc
23:52:23: GL_ARB_texture_cube_map_array
23:52:23: GL_ARB_texture_filter_anisotropic
23:52:23: GL_ARB_texture_float
23:52:23: GL_ARB_texture_gather
23:52:23: GL_ARB_texture_mirror_clamp_to_edge
23:52:23: GL_ARB_texture_multisample
23:52:23: GL_ARB_texture_non_power_of_two
23:52:23: GL_ARB_texture_query_levels
23:52:23: GL_ARB_texture_query_lod
23:52:23: GL_ARB_texture_rectangle
23:52:23: GL_ARB_texture_rg
23:52:23: GL_ARB_texture_rgb10_a2ui
23:52:23: GL_ARB_texture_stencil8
23:52:23: GL_ARB_texture_storage
23:52:23: GL_ARB_texture_storage_multisample
23:52:23: GL_ARB_texture_swizzle
23:52:23: GL_ARB_texture_view
23:52:23: GL_ARB_timer_query
23:52:23: GL_ARB_transform_feedback2
23:52:23: GL_ARB_transform_feedback3
23:52:23: GL_ARB_transform_feedback_instanced
23:52:23: GL_ARB_transform_feedback_overflow_query
23:52:23: GL_ARB_uniform_buffer_object
23:52:23: GL_ARB_vertex_array_bgra
23:52:23: GL_ARB_vertex_array_object
23:52:23: GL_ARB_vertex_attrib_64bit
23:52:23: GL_ARB_vertex_attrib_binding
23:52:23: GL_ARB_vertex_buffer_object
23:52:23: GL_ARB_vertex_shader
23:52:23: GL_ARB_vertex_type_10f_11f_11f_rev
23:52:23: GL_ARB_vertex_type_2_10_10_10_rev
23:52:23: GL_ARB_viewport_array
23:52:23: GL_ATI_blend_equation_separate
23:52:23: GL_ATI_texture_float
23:52:23: GL_EXT_EGL_image_storage
23:52:23: GL_EXT_EGL_sync
23:52:23: GL_EXT_abgr
23:52:23: GL_EXT_blend_equation_separate
23:52:23: GL_EXT_debug_label
23:52:23: GL_EXT_demote_to_helper_invocation
23:52:23: GL_EXT_draw_buffers2
23:52:23: GL_EXT_draw_instanced
23:52:23: GL_EXT_framebuffer_blit
23:52:23: GL_EXT_framebuffer_multisample
23:52:23: GL_EXT_framebuffer_multisample_blit_scaled
23:52:23: GL_EXT_framebuffer_object
23:52:23: GL_EXT_framebuffer_sRGB
23:52:23: GL_EXT_memory_object
23:52:23: GL_EXT_memory_object_fd
23:52:23: GL_EXT_packed_depth_stencil
23:52:23: GL_EXT_packed_float
23:52:23: GL_EXT_pixel_buffer_object
23:52:23: GL_EXT_polygon_offset_clamp
23:52:23: GL_EXT_provoking_vertex
23:52:23: GL_EXT_semaphore
23:52:23: GL_EXT_semaphore_fd
23:52:23: GL_EXT_shader_framebuffer_fetch
23:52:23: GL_EXT_shader_framebuffer_fetch_non_coherent
23:52:23: GL_EXT_shader_integer_mix
23:52:23: GL_EXT_shader_samples_identical
23:52:23: GL_EXT_texture_array
23:52:23: GL_EXT_texture_compression_dxt1
23:52:23: GL_EXT_texture_compression_rgtc
23:52:23: GL_EXT_texture_compression_s3tc
23:52:23: GL_EXT_texture_filter_anisotropic
23:52:23: GL_EXT_texture_integer
23:52:23: GL_EXT_texture_sRGB
23:52:23: GL_EXT_texture_sRGB_R8
23:52:23: GL_EXT_texture_sRGB_decode
23:52:23: GL_EXT_texture_shadow_lod
23:52:23: GL_EXT_texture_shared_exponent
23:52:23: GL_EXT_texture_snorm
23:52:23: GL_EXT_texture_swizzle
23:52:23: GL_EXT_timer_query
23:52:23: GL_EXT_transform_feedback
23:52:23: GL_EXT_vertex_array_bgra
23:52:23: GL_EXT_vertex_attrib_64bit
23:52:23: GL_IBM_multimode_draw_arrays
23:52:23: GL_INTEL_blackhole_render
23:52:23: GL_INTEL_conservative_rasterization
23:52:23: GL_INTEL_performance_query
23:52:23: GL_INTEL_shader_atomic_float_minmax
23:52:23: GL_INTEL_shader_integer_functions2
23:52:23: GL_KHR_blend_equation_advanced
23:52:23: GL_KHR_blend_equation_advanced_coherent
23:52:23: GL_KHR_context_flush_control
23:52:23: GL_KHR_debug
23:52:23: GL_KHR_no_error
23:52:23: GL_KHR_parallel_shader_compile
23:52:23: GL_KHR_robust_buffer_access_behavior
23:52:23: GL_KHR_robustness
23:52:23: GL_KHR_texture_compression_astc_ldr
23:52:23: GL_KHR_texture_compression_astc_sliced_3d
23:52:23: GL_MESA_framebuffer_flip_y
23:52:23: GL_MESA_pack_invert
23:52:23: GL_MESA_shader_integer_functions
23:52:23: GL_MESA_texture_signed_rgba
23:52:23: GL_NV_alpha_to_coverage_dither_control
23:52:23: GL_NV_compute_shader_derivatives
23:52:23: GL_NV_conditional_render
23:52:23: GL_NV_copy_image
23:52:23: GL_NV_depth_clamp
23:52:23: GL_NV_fragment_shader_interlock
23:52:23: GL_NV_packed_depth_stencil
23:52:23: GL_NV_texture_barrier
23:52:23: GL_OES_EGL_image
23:52:23: GL_S3_s3tc
23:52:23: Supported GLX extensions: GLX_ARB_context_flush_control GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_no_config_context GLX_EXT_swap_control GLX_EXT_swap_control_tear GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync 
23:52:23: **************************************
23:52:23: ***   OpenGL 3+ Renderer Started   ***
23:52:23: **************************************
23:52:23: Registering ResourceManager for type GpuProgram
23:52:23: RenderSystem capabilities
23:52:23: -------------------------
23:52:23: RenderSystem Name: OpenGL 3+ Rendering Subsystem
23:52:23: GPU Vendor: intel
23:52:23: Device Name: Mesa Intel(R) UHD Graphics (CML GT2)
23:52:23: Driver Version: 4.6.0.0
23:52:23:  * Fixed function pipeline: no
23:52:23:  * Hardware generation of mipmaps: no
23:52:23:  * Texture blending: yes
23:52:23:  * Anisotropic texture filtering: yes
23:52:23:  * Dot product texture operation: yes
23:52:23:  * Cube mapping: yes
23:52:23:  * Hardware stencil buffer: yes
23:52:23:    - Stencil depth: 8
23:52:23:    - Two sided stencil support: yes
23:52:23:    - Wrap stencil values: yes
23:52:23:  * Hardware vertex / index buffers: yes
23:52:23:  * 32-bit index buffers: yes
23:52:23:  * Vertex programs: yes
23:52:23:  * Number of floating-point constants for vertex programs: 16384
23:52:23:  * Number of integer constants for vertex programs: 16384
23:52:23:  * Number of boolean constants for vertex programs: 16384
23:52:23:  * Fragment programs: yes
23:52:23:  * Number of floating-point constants for fragment programs: 16384
23:52:23:  * Number of integer constants for fragment programs: 16384
23:52:23:  * Number of boolean constants for fragment programs: 16384
23:52:23:  * Geometry programs: yes
23:52:23:  * Number of floating-point constants for geometry programs: 16384
23:52:23:  * Number of integer constants for geometry programs: 16384
23:52:23:  * Number of boolean constants for geometry programs: 16384
23:52:23:  * Tessellation Hull programs: yes
23:52:23:  * Number of floating-point constants for tessellation hull programs: 16384
23:52:23:  * Number of integer constants for tessellation hull programs: 16384
23:52:23:  * Number of boolean constants for tessellation hull programs: 16384
23:52:23:  * Tessellation Domain programs: yes
23:52:23:  * Number of floating-point constants for tessellation domain programs: 16384
23:52:23:  * Number of integer constants for tessellation domain programs: 16384
23:52:23:  * Number of boolean constants for tessellation domain programs: 16384
23:52:23:  * Compute programs: yes
23:52:23:  * Number of floating-point constants for compute programs: 16384
23:52:23:  * Number of integer constants for compute programs: 16384
23:52:23:  * Number of boolean constants for compute programs: 16384
23:52:23:  * Supported Shader Profiles: glsl glsl130 glsl140 glsl150 glsl330 glsl400 glsl410 glsl420 glsl430 glsl440
23:52:23:  * Texture Compression: yes
23:52:23:    - DXT: yes
23:52:23:    - VTC: no
23:52:23:    - PVRTC: no
23:52:23:    - ATC: no
23:52:23:    - ETC1: no
23:52:23:    - ETC2: yes
23:52:23:    - BC4/BC5: yes
23:52:23:    - BC6H/BC7: yes
23:52:23:    - ASTC: yes
23:52:23:  * Hardware Occlusion Query: yes
23:52:23:  * User clip planes: yes
23:52:23:  * VET_UBYTE4 vertex element type: yes
23:52:23:  * Infinite far plane projection: yes
23:52:23:  * Hardware render-to-texture: yes
23:52:23:  * Floating point textures: yes
23:52:23:  * Non-power-of-two textures: yes
23:52:23:  * 1d textures: yes
23:52:23:  * Volume textures: yes
23:52:23:  * Max Texture resolution (2D) 16384
23:52:23:  * Max Texture resolution (3D) 2048
23:52:23:  * Max Texture resolution (Cubemaps) 16384
23:52:23:  * Multiple Render Targets: 8
23:52:23:    - With different bit depths: yes
23:52:23:  * Point Sprites: yes
23:52:23:  * Extended point parameters: yes
23:52:23:  * Max Point Size: 255
23:52:23:  * Vertex texture fetch: yes
23:52:23:  * Number of world matrices: 0
23:52:23:  * Number of texture units: 16
23:52:23:  * Stencil buffer depth: 8
23:52:23:  * Number of vertex blend matrices: 0
23:52:23:    - Max vertex textures: 32
23:52:23:    - Vertex textures shared: yes
23:52:23:  * Render to Vertex Buffer : yes
23:52:23:  * Hardware Atomic Counters: yes
23:52:23:  * Compute max threads per threadgroup per axis: 1024, 1024, 64
23:52:23:  * Compute max threads per threadgroup total: 1024
23:52:23:  * GL 1.5 without VBO workaround: no
23:52:23:  * Frame Buffer objects: yes
23:52:23:  * Frame Buffer objects (ARB extension): no
23:52:23:  * Frame Buffer objects (ATI extension): no
23:52:23:  * PBuffer support: no
23:52:23:  * GL 1.5 without HW-occlusion workaround: no
23:52:23:  * Vertex Array Objects: yes
23:52:23:  * Separate shader objects: no
23:52:23:  * Using Reverse Z: yes
23:52:23: DefaultWorkQueue('Root') initialising on thread main.
23:52:23: Particle Renderer Type 'billboard' registered
23:52:23: Added resource location './Media' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/materials/scripts' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/materials/textures' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/models' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common/Any' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common/GLSL' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common/GLSLES' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common/HLSL' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/2.0/scripts/materials/Common/Metal' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/Hlms/Common/Any' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/Hlms/Common/GLSL' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/Hlms/Common/HLSL' of type 'FileSystem' to resource group 'General'
23:52:23: Added resource location './Media/Hlms/Common/Metal' of type 'FileSystem' to resource group 'General'
23:52:23: Parsing scripts for resource group Autodetect
23:52:23: Finished parsing scripts for resource group Autodetect
23:52:23: Creating resources for group Autodetect
23:52:23: All done
23:52:23: Parsing scripts for resource group General
23:52:23: Parsing script Ogre.material
23:52:23: Finished parsing scripts for resource group General
23:52:23: Creating resources for group General
23:52:23: All done
23:52:23: Parsing scripts for resource group Internal
23:52:23: Finished parsing scripts for resource group Internal
23:52:23: Creating resources for group Internal
23:52:23: All done
23:52:23: OverlayElementFactory for type Panel registered.
23:52:23: OverlayElementFactory for type BorderPanel registered.
23:52:23: OverlayElementFactory for type TextArea registered.
23:52:23: Registering ResourceManager for type Font
23:52:23: Mesh: Loading ogrehead.mesh.
23:52:23: WARNING: ogrehead.mesh is an older format ([MeshSerializer_v1.8]); you should upgrade it as soon as possible using the OgreMeshTool tool.
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Eyes must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Eyes must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: Couldn't apply datablock '[Value 0x0000000a]' to this renderable. Using default one. Check previous log messages to see if there's more information.
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Skin must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Skin must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: Couldn't apply datablock '[Value 0x00000006]' to this renderable. Using default one. Check previous log messages to see if there's more information.
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Earring must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Earring must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: Couldn't apply datablock '[Value 0x00000004]' to this renderable. Using default one. Check previous log messages to see if there's more information.
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Tusks must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: OGRE EXCEPTION(3:RenderingAPIException): Fixed Function pipeline is no longer allowed nor supported. The material Ogre/Tusks must use shaders in HlmsLowLevel::calculateHashFor at /home/goforbroke/CLionProjects/hello-ogre-next/third_party/ogre-next/OgreMain/src/OgreHlmsLowLevel.cpp (line 160)
23:52:23: Couldn't apply datablock '[Value 0x00000008]' to this renderable. Using default one. Check previous log messages to see if there's more information.

Callstack

@darksylinc
Copy link
Member

Hi!

I cannot reproduce. Your example worked out of the box.

Your README says:

bash ./install-ogre-next.sh

But since there was no install-ogre-next.sh I just did the following:

Place OgreNext into third_party/ogre-next
Modify CMakeLists with the following:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 86508d0..d74c596 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,7 +23,9 @@ endif (LINUX)
 
 
 
-find_package(OGRE 2.3.3 REQUIRED COMPONENTS Bites RTShaderSystem)
+#find_package(OGRE 2.3.3 REQUIRED COMPONENTS Bites RTShaderSystem)
+set(OGRE_INCLUDE_DIRS "/home/matias/hello-ogre-next/third_party/ogre-next/OgreMain/include" "/home/matias/hello-ogre-next/third_party/ogre-next/build/Debug/include")
+set(OGRE_LIBRARIES "/home/matias/hello-ogre-next/third_party/ogre-next/build/Debug/lib/libOgreMain_d.so")
 target_include_directories(${PROJECT_NAME} PRIVATE ${OGRE_INCLUDE_DIRS})
 message(OGRE_LIBRARIES = ${OGRE_LIBRARIES})
 target_link_libraries(${PROJECT_NAME} ${OGRE_LIBRARIES})

And it worked.

It presented a black screen because you were missing the following line in C++:

	compositorManager->addWorkspace( gSceneManager, gOgreWindow->getTexture(), camera, workspaceName,
	                                 true );

@goforbroke1006
Copy link
Author

My bad.
To install deps:

bash ./setup.sh

Problem code was in devel branch. Already added to branch main.
The invocation of addWorkspace present, I see blue screen but can't create new scene node - got NULL

@goforbroke1006
Copy link
Author

I do next steps:

  1. Init ogre root
  2. Pull config for render
  3. Create window
  4. Load resources
  5. Register Hlms (a new stuff for me, not sure it is necessary for hello-world)
  6. Create scene manager
  7. Create camera
  8. Create new scene node with OgreHead mesh (already converted to version 2.1)
  9. Start rendering loop with window listener

On step 8 got null-pointer.
If bug happens maybe need fix.
If I did not folllow correct order of components initialization could be better got an error like "Create scene node failed: some component were not initialized".

@goforbroke1006
Copy link
Author

Screenshot from 2023-12-26 11-52-18
Without nodes app started ok.

@darksylinc
Copy link
Member

Hi!

The problem is in your CMakeLists.txt setup:

You have the following:

if (CMAKE_BUILD_TYPE STREQUAL "Debug")
    message("Debug mode")
    add_compile_definitions(OGRE_DEBUG_MODE)
endif (CMAKE_BUILD_TYPE STREQUAL "Debug")

Which should be (as suggested by OgrePlatform.h):

if (CMAKE_BUILD_TYPE STREQUAL "Debug")
    message("Debug mode")
    add_compile_definitions(DEBUG)
endif (CMAKE_BUILD_TYPE STREQUAL "Debug")

Otherwise you cause ABI incompatibilities. If you step inside the debugger in createChildSceneNode() call it ends up calling SceneNode::removeAndDestroyAllChildren, which is why your mSceneNode ends up being a nullptr and crashes.

OgreNext 3.0 will come with ABI check tool to early-detect this type of errors.

@darksylinc
Copy link
Member

Our CMake bootstrap script uses CMAKE_CXX_FLAGS_DEBUG instead. You can check it for reference if you want.

(See manual for more info on the EmptyProject template).

@goforbroke1006
Copy link
Author

goforbroke1006 commented Dec 28, 2023

Screenshot from 2023-12-29 01-06-37

Yeah, it's working now. Thanks for help! For me it was a real entry threshold =)

But, before I modified CmakeList file I found "workaround" - I change this

auto *mSceneNode = sceneManager->getRootSceneNode(Ogre::SCENE_DYNAMIC)
            ->createChildSceneNode(Ogre::SCENE_DYNAMIC);

to this

auto *mSceneNode = (Ogre::SceneNode *) sceneManager->getRootSceneNode(Ogre::SCENE_DYNAMIC)
            ->createChild(Ogre::SCENE_DYNAMIC);

and app start without null-pointers.

Did not check with debugger, don't know details.
Just decided to highlight this moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants