[closed] The new version cannot display text

I just downloaded the new version, but the new version cannot display text(All examples)

Works fine for me, just tested on both Linux and Windows.

The error looks like missing freetype DLL (it looks like you’re on Windows).

  • How do you compile? If you use “Compile and Run” from CGE editor, or CGE command-line build tool, then we will copy the DLL files into the project automatically. (We do this regardless of which compiler, FPC or Delphi, is used.)

    But if you compile and run from Lazarus IDE / Delphi IDE, you have to copy DLLs into the project (alongside EXE) yourself, we have no “hook” to do it reliably then automatically. See Compiling from source | Manual | Castle Game Engine for links to Windows DLLs.

    The simplest advise is to just compile at least once from CGE editor to get DLLs. Let CGE automatically put proper DLLs into the project.

  • What does the log show? (You can see log e.g. in CGE editor; if running outside of editor, see Logging | Manual | Castle Game Engine ).

Use CGE editor compile and run, exist freetype.dll file

Log for “platformer”.
Version: 1.2.0.
Started on 2023-03-23 at 22:59:33.
Castle Game Engine version: 7.0-alpha.snapshot.
Compiled with Delphi (Compiler Version 35).
Platform: Desktop, OS Version: Windows 10 (Version 1809, OS Build 17763.4010, 64-bit Edition) (this exe is using 64-bit architecture).
ZLib detected (version 1.2.3).
LibPng detected (version 1.4.0).
Rendering Initialized: OpenGL 4.6 (ATI) (modern rendering: False) (for more info: LogGLInformationVerbose:=true)
Path: Program data path detected as “file:///F:/05_GDEV/Castle%20Game%20Engine/examples/platformer/data/”
Font: Creating image 512x512 to store glyphs of font “castle-data:/font/kenvector_future_thin.ttf” (95 glyphs, max glyph size (including 2 pixel padding) is 34x39)
Config: Loaded configuration from “file:///C:/Users/Administrator/AppData/Local/platformer/platformer.conf”
Sound: Initialized: OpenAL 1.1 (for more info: TSoundEngine.LogVerbose:=true)
Sound: Sound backend closed

Hm, looks like we detected your GPU as “not being able to use modern shader pipeline”.

But I also just tested – even if I force CGE to use “ancient fixed-function pipeline” for me, it can still render letters in platformed OK. So, I am still perplexed what is the issue :slight_smile:

Indeed the log confirms we load TTF font OK, so FreeType DLL is used OK:

Font: Creating image 512x512 to store glyphs of font “castle-data:/font/kenvector_future_thin.ttf” (95 glyphs, max glyph size (including 2 pixel padding) is 34x39)

So I suspect we have a rendering bug specific to your GPU, but don’t know yet why.

  1. Please add LogGLInformationVerbose := true to the code/gameinitialize.pas source file in “platformer” project. Add attach the log here (it will be much longer).

  2. Does other font rendering work OK for you? Please run examples/component_gallery. Do you see letters OK there? Do you see letters OK in “Label” page of that demo (it uses some fonts from TTF, some embedded in CGE)? Proper screenshots from this example are on User Interface | Manual | Castle Game Engine .

error message

Both of my computers are like this,The default system language for Win10 is not English,Is it related to this?

The Windows system language should not be related. Especially since you show that also examples/component_gallery renders incorrectly all the labels. But in examples/component_gallery we use default font for the left sidebar (we have this default font embedded in Pascal, we don’t use FreeType for it).

The warnings about SoundFromName are also not related. We should update the platformer example to not use deprecated SoundFromName, but this is unrelated to rendering problems.

Can you submit the full log output, on both systems where it fails, after you set LogGLInformationVerbose := true in the code/gameinitialize.pas? (from any example really - platform, component_gallery, should not matter)

add LogGLInformationVerbose := true

Running “F:\05_GDEV\Castle Game Engine\bin\castle-engine.exe compile --mode=debug --compiler=delphi”

Compiling project “platformer” for OS / CPU “win64 / x86_64” in mode “debug”.
Delphi compiler executing…
Embarcadero Delphi for Win64 compiler version 35.0
Copyright (c) 1983,2022 Embarcadero Technologies, Inc.
F:\05_GDEV\Castle Game Engine\src\scene\load\x3dloadinternaltiledmap.pas(654) Warning: W1036 Variable ‘StartIndex’ might not have been initialized
F:\05_GDEV\Castle Game Engine\src\scene\load\x3dloadinternaltiledmap.pas(650) Warning: W1036 Variable ‘Durations’ might not have been initialized
F:\05_GDEV\Castle Game Engine\src\scene\load\x3dloadinternaltiledmap.pas(655) Warning: W1036 Variable ‘Step’ might not have been initialized
code\gameviewgameover.pas(62) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewlevelcomplete.pas(62) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewpause.pas(71) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(343) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(349) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(946) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1044) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1068) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1082) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1133) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1266) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewplay.pas(1285) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\GameViewPlay.pas(113) Hint: H2219 Private symbol ‘UpdatePlayerByVelocityAndRay’ declared but never used
code\GameViewPlay.pas(118) Hint: H2219 Private symbol ‘UpdatePlayerByVelocityAndRayWithDblJump’ declared but never used
code\GameViewPlay.pas(123) Hint: H2219 Private symbol ‘UpdatePlayerByVelocityAndPhysicsRayWithDblJump’ declared but never used
code\gameenemy.pas(154) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
code\gameviewmenu.pas(71) Warning: W1000 Symbol ‘SoundFromName’ is deprecated: ‘deprecated just like RepositoryURL’
1286141 lines, 11.98 seconds, 13872120 bytes code, 2860152 bytes data.
Moving platformer_standalone.exe to platformer.exe

Command finished with status 0.
Running “F:\05_GDEV\Castle Game Engine\bin\castle-engine.exe run --mode=debug --”

Running project “platformer” for OS / CPU “win64 / x86_64”.
Running F:\05_GDEV\Castle Game Engine\examples\platformer\platformer.exe
Log for “platformer”.
Version: 1.2.0.
Started on 2023-04-04 at 21:41:09.
Castle Game Engine version: 7.0-alpha.snapshot.
Compiled with Delphi (Compiler Version 35).
Platform: Desktop, OS Version: Windows 10 (Version 1809, OS Build 17763.4010, 64-bit Edition) (this exe is using 64-bit architecture).
ZLib detected (version 1.2.3).
LibPng detected (version 1.4.0).
-------------------- Rendering Initialized begin
OpenGL information (detected by platformer):


Basic information:

Context requested: automatic

Version string: 4.6.13547 Compatibility Profile Context FireGL 25.20.15024.4
Version parsed: major: 4, minor: 6, release exists: True, release: 13547, vendor-specific information: “Compatibility Profile Context FireGL 25.20.15024.4”
Vendor-specific version parsed: major: 25, minor: 20, release: 15024
Vendor: ATI Technologies Inc.
Vendor type: ATI

Renderer: Radeon Pro 570X
Fglrx (ancient ATI drivers on Linux): False
Mesa: False


Confirmed versions:
(checks both version string and actual functions availability in the library, to secure from buggy implementations)

1.2: True
1.3: True
1.4: True
1.5: True
2.0: True
2.1: True
3.0: True
3.1: True
3.2: True
3.3: True
4.0: True


Features:

Shaders (GLSL): False
Multi-texturing: True
Framebuffer Object: True
Multi-sampling for FBO buffers and textures: True
Vertex Buffer Object: False
Vertex Array Object: False
GenerateMipmap available (and reliable): True
Cube map textures: True
Compressed textures supported: [DXT1_RGB, DXT1_RGBA, DXT3, DXT5]
3D textures: True
Textures non-power-of-2: True
Blend constant parameter: True
Float textures: True
Depth textures: True
Shadow samplers (necessary for shadow maps): True
Packed depth + stencil: True
Texture Modern Formats + Swizzle: True
Shadow Volumes Possible (stencil buffer, two-sided stencil operations): True
Occlusion Query: True
Texture Max Level: True

Necessary to use deprecated fixed-function pipeline: True

All extensions: 299 extensions: (0) GL_AMDX_debug_output (1) GL_AMD_blend_minmax_factor (2) GL_AMD_conservative_depth (3) GL_AMD_debug_output (4) GL_AMD_depth_clamp_separate (5) GL_AMD_draw_buffers_blend (6) GL_AMD_framebuffer_sample_positions (7) GL_AMD_gcn_shader (8) GL_AMD_gpu_shader_half_float (9) GL_AMD_gpu_shader_int16 (10) GL_AMD_gpu_shader_int64 (11) GL_AMD_interleaved_elements (12) GL_AMD_multi_draw_indirect (13) GL_AMD_name_gen_delete (14) GL_AMD_occlusion_query_event (15) GL_AMD_performance_monitor (16) GL_AMD_pinned_memory (17) GL_AMD_query_buffer_object (18) GL_AMD_sample_positions (19) GL_AMD_seamless_cubemap_per_texture (20) GL_AMD_shader_atomic_counter_ops (21) GL_AMD_shader_stencil_export (22) GL_AMD_shader_stencil_value_export (23) GL_AMD_shader_trace (24) GL_AMD_shader_trinary_minmax (25) GL_AMD_sparse_texture (26) GL_AMD_sparse_texture_pool (27) GL_AMD_stencil_operation_extended (28) GL_AMD_texture_cube_map_array (29) GL_AMD_texture_texture4 (30) GL_AMD_transform_feedback3_lines_triangles (31) GL_AMD_transform_feedback4 (32) GL_AMD_vertex_shader_layer (33) GL_AMD_vertex_shader_viewport_index (34) GL_ARB_ES2_compatibility (35) GL_ARB_ES3_1_compatibility (36) GL_ARB_ES3_compatibility (37) GL_ARB_arrays_of_arrays (38) GL_ARB_base_instance (39) GL_ARB_bindless_texture (40) GL_ARB_blend_func_extended (41) GL_ARB_buffer_storage (42) GL_ARB_clear_buffer_object (43) GL_ARB_clear_texture (44) GL_ARB_clip_control (45) GL_ARB_color_buffer_float (46) GL_ARB_compatibility (47) GL_ARB_compressed_texture_pixel_storage (48) GL_ARB_compute_shader (49) GL_ARB_conditional_render_inverted (50) GL_ARB_conservative_depth (51) GL_ARB_copy_buffer (52) GL_ARB_copy_image (53) GL_ARB_cull_distance (54) GL_ARB_debug_output (55) GL_ARB_depth_buffer_float (56) GL_ARB_depth_clamp (57) GL_ARB_depth_texture (58) GL_ARB_derivative_control (59) GL_ARB_direct_state_access (60) GL_ARB_draw_buffers (61) GL_ARB_draw_buffers_blend (62) GL_ARB_draw_elements_base_vertex (63) GL_ARB_draw_indirect (64) GL_ARB_draw_instanced (65) GL_ARB_enhanced_layouts (66) GL_ARB_explicit_attrib_location (67) GL_ARB_explicit_uniform_location (68) GL_ARB_fragment_coord_conventions (69) GL_ARB_fragment_layer_viewport (70) GL_ARB_fragment_program (71) GL_ARB_fragment_program_shadow (72) GL_ARB_fragment_shader (73) GL_ARB_framebuffer_no_attachments (74) GL_ARB_framebuffer_object (75) GL_ARB_framebuffer_sRGB (76) GL_ARB_geometry_shader4 (77) GL_ARB_get_program_binary (78) GL_ARB_get_texture_sub_image (79) GL_ARB_gl_spirv (80) GL_ARB_gpu_shader5 (81) GL_ARB_gpu_shader_fp64 (82) GL_ARB_half_float_pixel (83) GL_ARB_half_float_vertex (84) GL_ARB_imaging (85) GL_ARB_indirect_parameters (86) GL_ARB_instanced_arrays (87) GL_ARB_internalformat_query (88) GL_ARB_internalformat_query2 (89) GL_ARB_invalidate_subdata (90) GL_ARB_map_buffer_alignment (91) GL_ARB_map_buffer_range (92) GL_ARB_multi_bind (93) GL_ARB_multi_draw_indirect (94) GL_ARB_multisample (95) GL_ARB_multitexture (96) GL_ARB_occlusion_query (97) GL_ARB_occlusion_query2 (98) GL_ARB_parallel_shader_compile (99) GL_ARB_pipeline_statistics_query (100) GL_ARB_pixel_buffer_object (101) GL_ARB_point_parameters (102) GL_ARB_point_sprite (103) GL_ARB_program_interface_query (104) GL_ARB_provoking_vertex (105) GL_ARB_query_buffer_object (106) GL_ARB_robust_buffer_access_behavior (107) GL_ARB_sample_shading (108) GL_ARB_sampler_objects (109) GL_ARB_seamless_cube_map (110) GL_ARB_seamless_cubemap_per_texture (111) GL_ARB_separate_shader_objects (112) GL_ARB_shader_atomic_counters (113) GL_ARB_shader_ballot (114) GL_ARB_shader_bit_encoding (115) GL_ARB_shader_draw_parameters (116) GL_ARB_shader_group_vote (117) GL_ARB_shader_image_load_store (118) GL_ARB_shader_image_size (119) GL_ARB_shader_objects (120) GL_ARB_shader_precision (121) GL_ARB_shader_stencil_export (122) GL_ARB_shader_storage_buffer_object (123) GL_ARB_shader_subroutine (124) GL_ARB_shader_texture_image_samples (125) GL_ARB_shader_texture_lod (126) GL_ARB_shader_viewport_layer_array (127) GL_ARB_shading_language_100 (128) GL_ARB_shading_language_420pack (129) GL_ARB_shading_language_packing (130) GL_ARB_shadow (131) GL_ARB_shadow_ambient (132) GL_ARB_sparse_buffer (133) GL_ARB_sparse_texture (134) GL_ARB_spirv_extensions (135) GL_ARB_stencil_texturing (136) GL_ARB_sync (137) GL_ARB_tessellation_shader (138) GL_ARB_texture_barrier (139) GL_ARB_texture_border_clamp (140) GL_ARB_texture_buffer_object (141) GL_ARB_texture_buffer_object_rgb32 (142) GL_ARB_texture_buffer_range (143) GL_ARB_texture_compression (144) GL_ARB_texture_compression_bptc (145) GL_ARB_texture_compression_rgtc (146) GL_ARB_texture_cube_map (147) GL_ARB_texture_cube_map_array (148) GL_ARB_texture_env_add (149) GL_ARB_texture_env_combine (150) GL_ARB_texture_env_crossbar (151) GL_ARB_texture_env_dot3 (152) GL_ARB_texture_float (153) GL_ARB_texture_gather (154) GL_ARB_texture_mirror_clamp_to_edge (155) GL_ARB_texture_mirrored_repeat (156) GL_ARB_texture_multisample (157) GL_ARB_texture_non_power_of_two (158) GL_ARB_texture_query_levels (159) GL_ARB_texture_query_lod (160) GL_ARB_texture_rectangle (161) GL_ARB_texture_rg (162) GL_ARB_texture_rgb10_a2ui (163) GL_ARB_texture_snorm (164) GL_ARB_texture_stencil8 (165) GL_ARB_texture_storage (166) GL_ARB_texture_storage_multisample (167) GL_ARB_texture_swizzle (168) GL_ARB_texture_view (169) GL_ARB_timer_query (170) GL_ARB_transform_feedback2 (171) GL_ARB_transform_feedback3 (172) GL_ARB_transform_feedback_instanced (173) GL_ARB_transform_feedback_overflow_query (174) GL_ARB_transpose_matrix (175) GL_ARB_uniform_buffer_object (176) GL_ARB_vertex_array_bgra (177) GL_ARB_vertex_array_object (178) GL_ARB_vertex_attrib_64bit (179) GL_ARB_vertex_attrib_binding (180) GL_ARB_vertex_buffer_object (181) GL_ARB_vertex_program (182) GL_ARB_vertex_shader (183) GL_ARB_vertex_type_10f_11f_11f_rev (184) GL_ARB_vertex_type_2_10_10_10_rev (185) GL_ARB_viewport_array (186) GL_ARB_window_pos (187) GL_ATI_draw_buffers (188) GL_ATI_envmap_bumpmap (189) GL_ATI_fragment_shader (190) GL_ATI_meminfo (191) GL_ATI_separate_stencil (192) GL_ATI_texture_compression_3dc (193) GL_ATI_texture_env_combine3 (194) GL_ATI_texture_float (195) GL_ATI_texture_mirror_once (196) GL_EXT_abgr (197) GL_EXT_bgra (198) GL_EXT_bindable_uniform (199) GL_EXT_blend_color (200) GL_EXT_blend_equation_separate (201) GL_EXT_blend_func_separate (202) GL_EXT_blend_minmax (203) GL_EXT_blend_subtract (204) GL_EXT_compiled_vertex_array (205) GL_EXT_copy_buffer (206) GL_EXT_copy_texture (207) GL_EXT_depth_bounds_test (208) GL_EXT_direct_state_access (209) GL_EXT_draw_buffers2 (210) GL_EXT_draw_instanced (211) GL_EXT_draw_range_elements (212) GL_EXT_fog_coord (213) GL_EXT_framebuffer_blit (214) GL_EXT_framebuffer_multisample (215) GL_EXT_framebuffer_object (216) GL_EXT_framebuffer_sRGB (217) GL_EXT_geometry_shader4 (218) GL_EXT_gpu_program_parameters (219) GL_EXT_gpu_shader4 (220) GL_EXT_histogram (221) GL_EXT_memory_object (222) GL_EXT_memory_object_win32 (223) GL_EXT_multi_draw_arrays (224) GL_EXT_packed_depth_stencil (225) GL_EXT_packed_float (226) GL_EXT_packed_pixels (227) GL_EXT_pixel_buffer_object (228) GL_EXT_point_parameters (229) GL_EXT_polygon_offset_clamp (230) GL_EXT_provoking_vertex (231) GL_EXT_rescale_normal (232) GL_EXT_secondary_color (233) GL_EXT_semaphore (234) GL_EXT_semaphore_win32 (235) GL_EXT_separate_specular_color (236) GL_EXT_shader_image_load_store (237) GL_EXT_shader_integer_mix (238) GL_EXT_shadow_funcs (239) GL_EXT_stencil_wrap (240) GL_EXT_subtexture (241) GL_EXT_texgen_reflection (242) GL_EXT_texture3D (243) GL_EXT_texture_array (244) GL_EXT_texture_buffer_object (245) GL_EXT_texture_compression_bptc (246) GL_EXT_texture_compression_latc (247) GL_EXT_texture_compression_rgtc (248) GL_EXT_texture_compression_s3tc (249) GL_EXT_texture_cube_map (250) GL_EXT_texture_edge_clamp (251) GL_EXT_texture_env_add (252) GL_EXT_texture_env_combine (253) GL_EXT_texture_env_dot3 (254) GL_EXT_texture_filter_anisotropic (255) GL_EXT_texture_integer (256) GL_EXT_texture_lod (257) GL_EXT_texture_lod_bias (258) GL_EXT_texture_mirror_clamp (259) GL_EXT_texture_object (260) GL_EXT_texture_rectangle (261) GL_EXT_texture_sRGB (262) GL_EXT_texture_sRGB_decode (263) GL_EXT_texture_shared_exponent (264) GL_EXT_texture_snorm (265) GL_EXT_texture_storage (266) GL_EXT_texture_swizzle (267) GL_EXT_timer_query (268) GL_EXT_transform_feedback (269) GL_EXT_vertex_array (270) GL_EXT_vertex_array_bgra (271) GL_EXT_vertex_attrib_64bit (272) GL_IBM_texture_mirrored_repeat (273) GL_KHR_context_flush_control (274) GL_KHR_debug (275) GL_KHR_no_error (276) GL_KHR_parallel_shader_compile (277) GL_KHR_robust_buffer_access_behavior (278) GL_KHR_robustness (279) GL_KTX_buffer_region (280) GL_NV_alpha_to_coverage_dither_control (281) GL_NV_blend_square (282) GL_NV_conditional_render (283) GL_NV_copy_depth_to_color (284) GL_NV_copy_image (285) GL_NV_depth_buffer_float (286) GL_NV_explicit_multisample (287) GL_NV_float_buffer (288) GL_NV_half_float (289) GL_NV_primitive_restart (290) GL_NV_texgen_reflection (291) GL_NV_texture_barrier (292) GL_OES_EGL_image (293) GL_SGIS_generate_mipmap (294) GL_SGIS_texture_edge_clamp (295) GL_SGIS_texture_lod (296) GL_SUN_multi_draw_arrays (297) GL_WIN_swap_hint (298) WGL_EXT_swap_control


Bugs:

Buggy VBO: False
Buggy FBO rendering to multi-sampling texture: False
Buggy FBO rendering to cube map texture: False
Buggy swap buffers with non-standard glViewport: False
Buggy 32-bit depth buffer: False
Buggy GLSL gl_FrontFacing: False
Buggy GLSL read varying: False
Buggy Pure Shader Pipeline: True
Buggy Texture Size Above 2048: False
Buggy Shader Bump Mapping num_steps: False


Current buffers bit depths:

Color buffer (red, green, blue, alpha): 8 / 8 / 8 / 8
Depth: 24
Stencil: 8
Double buffer: True
Multi-sampling (full-screen anti-aliasing) possible: True
Current: 1 samples per pixel


Limits:

Max clip planes: 8
Max lights (fixed-function limit): 8
Max texture size: 16384
Max viewport dims (width, height): 16384 16384
Max texture units (shader pipeline): 0
Max texture units (fixed-function): 2
Max cube map texture size: 16384
Max 3d texture size: 2048
Max texture max anisotropy: 16
Occlusion query counter bits: 32
Max renderbuffer size: 16384
Max line width: 1.00 128.00


Memory (in Kb):

Total: 0 (unknown)
Current: 0 (unknown)
Current for VBO: 0 (unknown)
Current for Textures: 2733236
Current for Renderbuffers: 2733236
-------------------- Rendering Initialized end
Path: Program data path detected as “file:///F:/05_GDEV/Castle%20Game%20Engine/examples/platformer/data/”
Font: Creating image 512x512 to store glyphs of font “castle-data:/font/kenvector_future_thin.ttf” (95 glyphs, max glyph size (including 2 pixel padding) is 34x39)
Config: Loaded configuration from “file:///C:/Users/Administrator/AppData/Local/platformer/platformer.conf”
Sound: Initialized: OpenAL 1.1 (for more info: TSoundEngine.LogVerbose:=true)
Sound: Sound backend closed

Command finished with status 0.

Thank you!

I see here 2 things I’d like to fix:

  1. For this GPU, we detect “Necessary to use deprecated fixed-function pipeline: True” because we detect BuggyPureShaderPipeline for it.

    But maybe we should try harder and not define BuggyPureShaderPipeline in this case, treat it more like a modern GPU – which it should be, as it has OpenGL 4.6.

  2. Regardless of it, treating it like “Necessary to use deprecated fixed-function pipeline” should not cause rendering bugs.

Good news – I found an older laptop, with a GPU exhibiting similar problem (though it’s not AMD, it’s Intel). I should be able to use it to make letters rendering reliable, regardless of “Necessary to use deprecated fixed-function pipeline” .

I’ll let here know when it’s fixed.

AD 2 Fixed.

I pushed 2 fixes to GPUs we detect as “using fixed-function rendering” to GitHub - castle-engine/castle-engine: Cross-platform (desktop, mobile, console) 3D and 2D game engine supporting many asset formats (glTF, X3D, Spine...) and using modern Object Pascal . As usual, the fix is

  • available on CGE “master” branch on GitHub immediately

  • and after a few hours it will be available inside downloads on Download | Castle Game Engine too.

So font rendering will work fine for you.

AD 1 is still a TODO – ideally, I’d like to activate “modern rendering” for this GPU.

AD 1 also fixed!

There have been a few fixes for ATI GPUs lately. In particular the BuggyPureShaderPipeline property is now completely removed (it is never buggy now :slight_smile: ), rendering on older ATI cards is now both more reliable and consistent with what happens on more modern GPUs (ATI or not ATI).

So - font rendering should be OK for you, and also you should see Necessary to use deprecated fixed-function pipeline equal to False in the log now.

1 Like