OGRECave / ogre-next

aka ogre v2 - scene-oriented, flexible 3D C++ engine
https://ogrecave.github.io/ogre-next/api/latest
Other
1.09k stars 235 forks source link

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

Open goforbroke1006 opened 11 months ago

goforbroke1006 commented 11 months ago

System Information

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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

darksylinc commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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.