Split: Planet rendering issues

For test results, bug reports, announcements of new builds etc.

Moderators: another_commander, winston, Getafix

User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 884
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Split: Planet rendering issues

Post by Pleb »

[Moderator: Split from Source Code discussion thread.]
another_commander wrote:The planet rendering issue is probably due to graphics drivers. I have the same problem on my Intel HD Graphics, but I have found that if I switch from Extra Detail setting in Game Options to Normal Shaders, things look much better so I would suggest you try that.
I have this same problem with my graphics card, it's a Nvidia Geforce with 1GB dedicated memory but still has issues with planets for some reason...odd as I don't have any other issues with it for anything else...

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Source Code and Ideas question

Post by Diziet Sma »

Pleb wrote:
another_commander wrote:The planet rendering issue is probably due to graphics drivers. I have the same problem on my Intel HD Graphics, but I have found that if I switch from Extra Detail setting in Game Options to Normal Shaders, things look much better so I would suggest you try that.
I have this same problem with my graphics card, it's a Nvidia Geforce with 1GB dedicated memory but still has issues with planets for some reason...odd as I don't have any other issues with it for anything else...
Likewise for me with the AMD/ATI X2300 on my laptop. The switch back to Normal Shaders works for me.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Split: Planet rendering issues

Post by cim »

I wonder if there's a specific OpenGL extension or version needed: if it isn't working for you, could you post or PM me the graphics system lines from your Latest.log?

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5633
Joined: Wed Feb 28, 2007 7:54 am

Re: Split: Planet rendering issues

Post by another_commander »

Looks like the issue with planets could be more widespread than initially thought. I am splitting this to its own thread.

Initially we thought that this might have to do with the implementation of smoothstep, which seems to be standardized only in more recent OpenGL revisions. However, I tried a small test on my system which proves that smoothstep is almost certainly not the problem here. I edited oolite.app\Resources\Shaders\oolite-default-planet.fragment where it sets the color for the day/night terminator to look as follows:

Code: Select all

#if OO_REDUCED_COMPLEXITY
	// Hardish terminator.
	//float rev = min(1.0 - globalTerm, 1.0); // this line commented out
	//rev *= rev; // this line commented out
	//vec3 baseLight = vec3(1.0 - (rev * rev)); this line commented out
   vec3 baseLight = smoothstep(vec3(0.0), kTerminatorThreshold, vec3(globalTerm)); // this line copied from three lines below
#else
	// Hard terminator with slight redish-orange tinge. Note: threshold values are cosines.
	vec3 baseLight = smoothstep(vec3(0.0), kTerminatorThreshold, vec3(globalTerm));
#endif
This gets to use the same smoothstep code for the terminator in both Normal Shaders and Extra Detail settings. The result is that in Normal Shaders I see properly rendered planets, while at Extra Detail I see as always the hard terminator and very bright / very dark day and night sections. So it's probably nothing to do with smoothstep.

If the guys reporting issues are using up-to-date drivers (and btw I have received another report from Getafix giving me the same results with Intel HD 4000 and drivers from last November installed), then maybe we will have to look at it a bit more rather than relay the cause to the drivers in use. It may be worth investigating deeper what we do differently with the shader setup in Extra Detail and that could lead us to a possible solution. For now, I would suggest going with the Normal Shaders setting for those who encounter this issue.

In response to cim's post above, my gfx lines from Oolite are reported as follows:
Latest.log wrote: 11:12:38.863 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1.0 - Build 8.15.10.2418"). Vendor: "Intel". Renderer: "Intel(R) HD Graphics".
11:12:38.863 [rendering.opengl.extensions]: OpenGL extensions (99):
GL_NV_primitive_restart, GL_ARB_texture_env_crossbar, GL_EXT_abgr, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_separate_specular_color, GL_EXT_texture_edge_clamp, GL_EXT_blend_minmax, GL_EXT_draw_buffers2, GL_ARB_texture_env_add, GL_ARB_draw_elements_base_vertex, GL_ARB_sampler_objects, GL_EXT_framebuffer_blit, GL_EXT_transform_feedback, GL_ARB_texture_env_dot3, GL_EXT_framebuffer_object, GL_EXT_blend_subtract, GL_3DFX_texture_compression_FXT1, GL_NV_conditional_render, GL_ARB_vertex_array_bgra, GL_EXT_texture_snorm, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_ARB_framebuffer_sRGB, GL_ARB_texture_env_combine, GL_EXT_texture_env_add, GL_EXT_packed_pixels, GL_SGIS_texture_edge_clamp, GL_ARB_depth_clamp, GL_INTEL_performance_queries, GL_ARB_uniform_buffer_object, GL_ARB_depth_texture, GL_SGIS_texture_lod, GL_ARB_occlusion_query, GL_ARB_transpose_matrix, GL_NV_texgen_reflection, GL_EXT_stencil_two_side, GL_ARB_seamless_cube_map, GL_ARB_fragment_program_shadow, GL_ARB_shading_language_100, GL_ARB_texture_compression_rgtc, GL_EXT_gpu_program_parameters, GL_EXT_texture_shared_exponent, GL_EXT_rescale_normal, GL_ARB_map_buffer_range, GL_ARB_pixel_buffer_object, GL_EXT_secondary_color, GL_ARB_copy_buffer, GL_ARB_half_float_pixel, GL_EXT_blend_equation_separate, GL_EXT_draw_range_elements, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_ARB_half_float_vertex, GL_EXT_texture_swizzle, GL_SGIS_generate_mipmap, GL_ARB_texture_rectangle, GL_ARB_texture_non_power_of_two, GL_ARB_point_sprite, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_EXT_texture_compression_s3tc, GL_ARB_depth_buffer_float, GL_ARB_sync, GL_ARB_draw_instanced, GL_ARB_vertex_buffer_object, GL_WIN_swap_hint, GL_ARB_color_buffer_float, GL_ARB_shader_objects, GL_EXT_texture_array, GL_ATI_separate_stencil, GL_ARB_framebuffer_object, GL_EXT_packed_float, GL_ARB_compatibility, GL_EXT_texture_rectangle, GL_ARB_texture_rg, GL_ARB_fragment_shader, GL_EXT_fog_coord, GL_EXT_texture3D, GL_ARB_window_pos, GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXT_texture_env_combine, GL_ARB_point_parameters, GL_ARB_texture_cube_map, GL_EXT_bgra, GL_EXT_compiled_vertex_array, GL_ARB_vertex_array_object, GL_ARB_draw_buffers, GL_ARB_texture_compression, GL_EXT_multi_draw_arrays, GL_ARB_texture_float, GL_EXT_blend_func_separate, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_EXT_clip_volume_hint, GL_EXT_blend_color, GL_NV_blend_square
11:12:38.885 [rendering.opengl.shader.support]: Shaders are supported.

User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: Split: Planet rendering issues

Post by kanthoney »

I've just upgraded my graphics card, and the blending is smoother but doesn't look right. For example, at the poles the divide is quite sharp and then gets more blurry towards the equator. It's as if the boundary has been "faked" by drawing a circle around the planet where the boundary should be, then creating a second circle slightly twisted from the first to create an intermediate region and blurring that region.

I don't know much yet about how OpenGL works or does shading, but I don't think that's right.

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Split: Planet rendering issues

Post by cim »

another_commander wrote:This gets to use the same smoothstep code for the terminator in both Normal Shaders and Extra Detail settings.
For planets, Normal Shaders just uses the static pre-shader methods - the shader program is never even executed. There isn't currently any way that the OO_REDUCED_DETAIL code path can be run.

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Split: Planet rendering issues

Post by cim »

kanthoney wrote:I've just upgraded my graphics card, and the blending is smoother but doesn't look right. For example, at the poles the divide is quite sharp and then gets more blurry towards the equator.
That, at least, is probably a bug in the logic rather than in the shader implementation or the driver.

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Split: Planet rendering issues

Post by Diziet Sma »

cim wrote:if it isn't working for you, could you post or PM me the graphics system lines from your Latest.log?
Here's mine:

Code: Select all

23:31:58.489 [display.mode.list.native]: X11 native resolution detected: 1280 x 800
23:31:58.630 [joystick.init]: Number of joysticks detected: 1
23:31:58.632 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Mesa 9.2.1"). Vendor: "X.Org R300 Project". Renderer: "Gallium 0.4 on ATI RV515".
23:31:58.632 [rendering.opengl.extensions]: OpenGL extensions (141):
GL_ATI_texture_mirror_once, GL_ARB_depth_texture, GL_ARB_invalidate_subdata, GL_ARB_texture_env_add, GL_NV_texture_barrier, GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc, GL_ARB_half_float_vertex, GL_IBM_multimode_draw_arrays, GL_EXT_texture3D, GL_EXT_compiled_vertex_array, GL_ARB_framebuffer_object, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_ARB_shader_texture_lod, GL_EXT_texture_cube_map, GL_EXT_rescale_normal, GL_ATI_draw_buffers, GL_ARB_transpose_matrix, GL_ARB_texture_compression_rgtc, GL_ARB_half_float_pixel, GL_EXT_stencil_two_side, GL_ARB_texture_border_clamp, GL_ARB_multisample, GL_ATI_separate_stencil, GL_ARB_texture_non_power_of_two, GL_NV_fog_distance, GL_INGR_blend_func_separate, GL_EXT_bgra, GL_ARB_sync, GL_EXT_texture_env_dot3, GL_EXT_provoking_vertex, GL_APPLE_packed_pixels, GL_NV_light_max_exponent, GL_ARB_sampler_objects, GL_SUN_multi_draw_arrays, GL_ARB_map_buffer_range, GL_ARB_vertex_shader, GL_ARB_shader_objects, GL_NV_texgen_reflection, GL_EXT_multi_draw_arrays, GL_ARB_vertex_program, GL_IBM_rasterpos_clip, GL_EXT_texture_object, GL_ARB_get_program_binary, GL_ATI_texture_env_combine3, GL_ARB_texture_float, GL_NV_texture_env_combine4, GL_ATI_texture_compression_3dc, GL_ARB_fragment_coord_conventions, GL_EXT_stencil_wrap, GL_EXT_texture_swizzle, GL_EXT_framebuffer_blit, GL_NV_primitive_restart, GL_MESA_pack_invert, GL_ARB_vertex_array_bgra, GL_NV_packed_depth_stencil, GL_ARB_texture_compression, GL_ARB_vertex_array_object, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_ARB_texture_swizzle, GL_APPLE_vertex_array_object, GL_EXT_subtexture, GL_ARB_occlusion_query2, GL_MESA_texture_signed_rgba, GL_ARB_debug_output, GL_ARB_point_sprite, GL_EXT_vertex_array, GL_EXT_abgr, GL_ARB_vertex_buffer_object, GL_NV_blend_square, GL_ARB_instanced_arrays, GL_EXT_framebuffer_multisample, GL_NV_conditional_render, GL_NV_texture_rectangle, GL_ARB_multitexture, GL_EXT_texture, GL_EXT_vertex_array_bgra, GL_ARB_copy_buffer, GL_ARB_draw_elements_base_vertex, GL_ARB_shadow, GL_EXT_blend_subtract, GL_ARB_internalformat_query, GL_ARB_fragment_program_shadow, GL_MESA_window_pos, GL_ARB_texture_storage, GL_ARB_window_pos, GL_EXT_texture_lod_bias, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_snorm, GL_ARB_texture_env_crossbar, GL_ARB_point_parameters, GL_EXT_texture_sRGB_decode, GL_ARB_robustness, GL_ARB_texture_rg, GL_EXT_texture_edge_clamp, GL_EXT_copy_texture, GL_EXT_texture_sRGB, GL_MESA_ycbcr_texture, GL_ARB_texture_env_combine, GL_ARB_fragment_program, GL_ARB_explicit_attrib_location, GL_EXT_texture_filter_anisotropic, GL_EXT_draw_range_elements, GL_ARB_pixel_buffer_object, GL_EXT_packed_depth_stencil, GL_ARB_texture_rectangle, GL_EXT_fog_coord, GL_ARB_ES2_compatibility, GL_SGIS_texture_lod, GL_EXT_gpu_program_parameters, GL_ARB_fragment_shader, GL_OES_EGL_image, GL_EXT_polygon_offset, GL_ARB_shading_language_100, GL_SGIS_texture_border_clamp, GL_EXT_secondary_color, GL_EXT_point_parameters, GL_ARB_draw_buffers, GL_SGIS_generate_mipmap, GL_EXT_texture_rectangle, GL_ATI_blend_equation_separate, GL_OES_read_format, GL_EXT_blend_func_separate, GL_ARB_texture_cube_map, GL_ARB_occlusion_query, GL_EXT_texture_mirror_clamp, GL_EXT_framebuffer_object, GL_EXT_packed_pixels, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_env_dot3, GL_ARB_map_buffer_alignment, GL_EXT_texture_compression_latc, GL_ARB_provoking_vertex, GL_EXT_blend_equation_separate, GL_ARB_color_buffer_float, GL_ATI_texture_float, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_SGIS_texture_edge_clamp
23:31:58.668 [rendering.opengl.shader.support]: Shaders are supported.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: Split: Planet rendering issues

Post by kanthoney »

Is the Extra Details setting causing the game to draw a day/night boundary using some old legacy code instead of the shiny new stuff?

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Split: Planet rendering issues

Post by cim »

kanthoney wrote:Is the Extra Details setting causing the game to draw a day/night boundary using some old legacy code instead of the shiny new stuff?
No, definitely the new stuff. The old legacy code is giving the better results, at least for that bit...

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5633
Joined: Wed Feb 28, 2007 7:54 am

Re: Split: Planet rendering issues

Post by another_commander »

cim wrote:
another_commander wrote:This gets to use the same smoothstep code for the terminator in both Normal Shaders and Extra Detail settings.
For planets, Normal Shaders just uses the static pre-shader methods - the shader program is never even executed. There isn't currently any way that the OO_REDUCED_DETAIL code path can be run.
Oops. Hadn't realized that was the case. Please disregard my earlier comment then.

User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 884
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: Split: Planet rendering issues

Post by Pleb »

Okay I've figured out the problem for me was because i have two graphics cards, one is an integrated Intel HD Graphics 4000 and the other is a dedicated NVIDIA GeForce GT 620M. Because Windows was selecting the Intel one as the default card to use for Oolite, it was showing me problems, but when I switch to the NVIDIA card it works fine.

This the log for the Intel card:

Code: Select all

12:28:44.565 [rendering.opengl.version]: OpenGL renderer version: 4.0.0 ("4.0.0 - Build 10.18.10.3316"). Vendor: "Intel". Renderer: "Intel(R) HD Graphics 4000".
12:28:44.566 [rendering.opengl.extensions]: OpenGL extensions (159):
GL_ARB_framebuffer_sRGB, GL_ARB_transform_feedback_instanced, GL_ARB_depth_texture, GL_ARB_texture_env_add, GL_ARB_internalformat_query2, GL_ARB_draw_instanced, GL_ARB_half_float_vertex, GL_EXT_texture3D, GL_EXT_compiled_vertex_array, GL_ARB_gpu_shader_fp64, GL_EXT_texture_shared_exponent, GL_ARB_framebuffer_object, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_ARB_gpu_shader5, GL_EXT_rescale_normal, GL_ARB_texture_rgb10_a2ui, GL_ARB_transpose_matrix, GL_ARB_texture_cube_map_array, GL_ARB_texture_compression_rgtc, GL_ARB_multisample, GL_ARB_half_float_pixel, GL_EXT_stencil_two_side, GL_ARB_texture_border_clamp, GL_ARB_texture_non_power_of_two, GL_ATI_separate_stencil, GL_ARB_shading_language_packing, GL_EXT_bgra, GL_ARB_sync, GL_ARB_compatibility, GL_ARB_sampler_objects, GL_SUN_multi_draw_arrays, GL_EXT_clip_volume_hint, GL_ARB_map_buffer_range, GL_ARB_vertex_shader, GL_ARB_shader_objects, GL_NV_texgen_reflection, GL_EXT_multi_draw_arrays, GL_ARB_vertex_program, GL_ARB_get_program_binary, GL_ARB_base_instance, GL_INTEL_performance_queries, GL_ARB_texture_float, GL_ARB_draw_buffers_blend, GL_ARB_texture_compression_bptc, GL_ARB_fragment_coord_conventions, GL_EXT_stencil_wrap, GL_EXT_texture_swizzle, GL_ARB_shader_precision, GL_ARB_uniform_buffer_object, GL_NV_primitive_restart, GL_EXT_framebuffer_blit, GL_ARB_vertex_array_bgra, GL_ARB_texture_gather, GL_ARB_texture_compression, GL_KHR_debug, GL_ARB_vertex_array_object, GL_EXT_blend_color, GL_ARB_texture_query_lod, GL_EXT_blend_minmax, GL_EXT_texture_integer, GL_ARB_texture_swizzle, GL_EXT_gpu_shader4, GL_ARB_sample_shading, GL_ARB_shader_bit_encoding, GL_EXT_transform_feedback, GL_EXT_texture_compression_s3tc, GL_ARB_tessellation_shader, GL_ARB_occlusion_query2, GL_ARB_debug_output, GL_ARB_timer_query, GL_ARB_depth_clamp, GL_ARB_point_sprite, GL_EXT_abgr, GL_ARB_vertex_buffer_object, GL_NV_blend_square, GL_ARB_instanced_arrays, GL_EXT_framebuffer_multisample, GL_NV_conditional_render, GL_ARB_multitexture, GL_ARB_seamless_cube_map, GL_ARB_copy_buffer, GL_EXT_texture_storage, GL_ARB_draw_elements_base_vertex, GL_ARB_geometry_shader4, GL_ARB_transform_feedback2, GL_ARB_multi_draw_indirect, GL_ARB_transform_feedback3, GL_ARB_viewport_array, GL_ARB_shadow, GL_EXT_blend_subtract, GL_ARB_fragment_program_shadow, GL_ARB_internalformat_query, GL_ARB_texture_storage, GL_ARB_window_pos, GL_ARB_texture_multisample, GL_EXT_texture_lod_bias, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_snorm, GL_ARB_texture_env_crossbar, GL_ARB_point_parameters, GL_ARB_depth_buffer_float, GL_EXT_texture_sRGB_decode, GL_ARB_shading_language_420pack, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_robustness, GL_ARB_texture_rg, GL_EXT_texture_edge_clamp, GL_EXT_texture_sRGB, GL_ARB_texture_env_combine, GL_WIN_swap_hint, GL_ARB_fragment_program, GL_ARB_explicit_attrib_location, GL_EXT_packed_float, GL_ARB_texture_buffer_object_rgb32, GL_EXT_texture_filter_anisotropic, GL_EXT_draw_range_elements, GL_ARB_pixel_buffer_object, GL_ARB_shader_subroutine, GL_ARB_draw_indirect, GL_EXT_packed_depth_stencil, GL_ARB_texture_rectangle, GL_ARB_separate_shader_objects, GL_EXT_geometry_shader4, GL_EXT_fog_coord, GL_ARB_ES2_compatibility, GL_SGIS_texture_lod, GL_ARB_texture_buffer_range, GL_3DFX_texture_compression_FXT1, GL_EXT_gpu_program_parameters, GL_ARB_fragment_shader, GL_ARB_shader_atomic_counters, GL_ARB_shading_language_100, GL_EXT_secondary_color, GL_ARB_draw_buffers, GL_SGIS_generate_mipmap, GL_EXT_draw_buffers2, GL_EXT_texture_rectangle, GL_ARB_program_interface_query, GL_ARB_blend_func_extended, GL_ARB_arrays_of_arrays, GL_EXT_blend_func_separate, GL_ARB_texture_cube_map, GL_EXT_texture_array, GL_ARB_occlusion_query, GL_INTEL_map_texture, GL_ARB_compressed_texture_pixel_storage, GL_ARB_vertex_attrib_64bit, GL_EXT_framebuffer_object, GL_EXT_packed_pixels, GL_ARB_texture_env_dot3, GL_ARB_map_buffer_alignment, GL_ARB_provoking_vertex, GL_EXT_blend_equation_separate, GL_ARB_color_buffer_float, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_SGIS_texture_edge_clamp, GL_ARB_conservative_depth
12:28:44.584 [rendering.opengl.shader.support]: Shaders are supported.
This is how it looks with the Intel card on Extra Shaders (one set is with Povray Planets and the other is in strict mode):

Image

Image

Image

Image

And this is with Normal Shaders turned on instead:

Image

Image

Image

Image

So then I did the same tests again, but this time with the NVIDIA card. This is the log:

Code: Select all

12:32:11.105 [rendering.opengl.version]: OpenGL renderer version: 4.4.0 ("4.4.0"). Vendor: "NVIDIA Corporation". Renderer: "GeForce GT 620M/PCIe/SSE2".
12:32:11.105 [rendering.opengl.extensions]: OpenGL extensions (286):
GL_ARB_draw_instanced, GL_NV_float_buffer, GL_NV_vertex_attrib_integer_64bit, GL_ARB_occlusion_query, GL_EXT_texture_env_add, GL_ARB_texture_storage, GL_ARB_texture_env_dot3, GL_ARB_sync, GL_EXTX_framebuffer_mixed_formats, GL_ARB_texture_multisample, GL_ARB_buffer_storage, GL_ARB_explicit_uniform_location, GL_NV_texture_env_combine4, GL_NV_bindless_multi_draw_indirect, GL_ARB_compute_variable_group_size, GL_ARB_point_parameters, GL_ARB_vertex_array_object, GL_NVX_gpu_memory_info, GL_NV_vertex_buffer_unified_memory, GL_ARB_blend_func_extended, GL_NV_explicit_multisample, GL_EXT_provoking_vertex, GL_NV_texture_shader2, GL_EXT_blend_equation_separate, GL_ARB_compressed_texture_pixel_storage, GL_NV_texture_shader3, GL_ARB_texture_stencil8, GL_ARB_texture_non_power_of_two, GL_ARB_texture_mirrored_repeat, GL_ARB_debug_output, GL_EXT_multi_draw_arrays, GL_NV_fence, GL_ARB_timer_query, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_range, GL_NV_occlusion_query, GL_EXT_abgr, GL_ARB_vertex_program, GL_NV_shader_buffer_load, GL_ATI_texture_float, GL_ARB_draw_buffers_blend, GL_NV_shader_storage_buffer_object, GL_ARB_viewport_array, GL_KTX_buffer_region, GL_ARB_shadow, GL_NV_light_max_exponent, GL_EXT_texture_cube_map, GL_EXT_texture_compression_dxt1, GL_ARB_shader_atomic_counters, GL_NV_texture_multisample, GL_NV_primitive_restart, GL_EXT_framebuffer_object, GL_EXT_texture_sRGB, GL_ARB_shader_storage_buffer_object, GL_ARB_conservative_depth, GL_ARB_get_program_binary, GL_NV_shader_atomic_float, GL_ARB_multitexture, GL_ARB_clear_texture, GL_NV_half_float, GL_NV_copy_image, GL_NV_path_rendering, GL_NV_register_combiners, GL_ARB_shader_image_size, GL_ARB_sparse_texture, GL_NV_compute_program5, GL_NV_draw_texture, GL_EXT_texture_compression_rgtc, GL_ARB_shader_objects, GL_EXT_blend_func_separate, GL_EXT_bgra, GL_ARB_pixel_buffer_object, GL_ARB_vertex_attrib_64bit, GL_NV_fragment_program2, GL_EXT_Cg_shader, GL_ARB_draw_buffers, GL_EXT_separate_shader_objects, GL_NV_texgen_reflection, GL_ARB_texture_env_crossbar, GL_ARB_fragment_shader, GL_EXT_texture_swizzle, GL_EXT_fog_coord, GL_EXT_vertex_array_bgra, GL_EXT_framebuffer_blit, GL_ARB_shader_draw_parameters, GL_NV_copy_depth_to_color, GL_ARB_texture_compression_rgtc, GL_ARB_sample_shading, GL_NV_vertex_program1_1, GL_ARB_seamless_cube_map, GL_WIN_swap_hint, GL_EXT_texture_shared_exponent, GL_ARB_shading_language_420pack, GL_ARB_shader_subroutine, GL_EXT_geometry_shader4, GL_EXT_direct_state_access, GL_EXT_compiled_vertex_array, GL_NV_parameter_buffer_object2, GL_KHR_debug, GL_ARB_copy_image, GL_ARB_shader_image_load_store, GL_NV_vertex_array_range2, GL_ARB_shading_language_include, GL_EXT_texture_storage, GL_EXT_shader_image_load_store, GL_EXT_separate_specular_color, GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_vertex_array, GL_ARB_shading_language_100, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_rescale_normal, GL_ARB_texture_float, GL_EXT_packed_depth_stencil, GL_EXT_bindable_uniform, GL_ARB_texture_swizzle, GL_ARB_half_float_pixel, GL_EXT_texture_compression_s3tc, GL_EXT_draw_instanced, GL_NV_blend_equation_advanced, GL_ARB_occlusion_query2, GL_NV_transform_feedback, GL_NV_texture_compression_vtc, GL_ARB_texture_rgb10_a2ui, GL_SGIS_texture_lod, WGL_EXT_swap_control, GL_ARB_geometry_shader4, GL_NV_point_sprite, GL_ARB_framebuffer_object, GL_NV_conditional_render, GL_EXT_stencil_two_side, GL_ARB_texture_rg, GL_NV_texture_expand_normal, GL_ARB_color_buffer_float, GL_NV_gpu_program4_1, GL_NV_framebuffer_multisample_coverage, GL_EXT_blend_color, GL_NV_packed_depth_stencil, GL_NV_geometry_shader4, GL_NV_texture_rectangle, GL_ARB_vertex_array_bgra, GL_EXT_texture_integer, GL_EXT_texture_array, GL_ARB_base_instance, GL_EXT_import_sync_object, GL_ARB_shading_language_packing, GL_ARB_fragment_program_shadow, GL_ARB_fragment_layer_viewport, GL_NV_gpu_program4, GL_EXT_texture_buffer_object, GL_NV_vertex_program2_option, GL_NV_gpu_program5, GL_ARB_map_buffer_range, GL_ARB_fragment_program, GL_ARB_copy_buffer, GL_ARB_tessellation_shader, GL_NV_gpu_shader5, GL_S3_s3tc, GL_NV_depth_clamp, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_EXT_draw_buffers2, GL_NV_fragment_program, GL_EXT_secondary_color, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_ES3_compatibility, GL_EXT_framebuffer_multisample, GL_ARB_window_pos, GL_IBM_rasterpos_clip, GL_EXT_texture_env_combine, GL_ARB_vertex_shader, GL_ARB_texture_compression_bptc, GL_SGIS_generate_mipmap, GL_ARB_compatibility, GL_ATI_texture_mirror_once, GL_EXT_packed_float, GL_ARB_texture_border_clamp, GL_ARB_explicit_attrib_location, GL_NV_blend_square, GL_ARB_internalformat_query, GL_EXT_texture3D, GL_ARB_arrays_of_arrays, GL_SUN_slice_accum, GL_ARB_robust_buffer_access_behavior, GL_NV_vertex_array_range, GL_ARB_ES2_compatibility, GL_NV_vertex_program, GL_ARB_texture_query_lod, GL_NV_multisample_filter_hint, GL_ARB_invalidate_subdata, GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB_decode, GL_ARB_texture_compression, GL_NV_vertex_program2, GL_NV_multisample_coverage, GL_ARB_texture_env_add, GL_ARB_imaging, GL_NV_vertex_program3, GL_ARB_provoking_vertex, GL_ARB_framebuffer_no_attachments, GL_EXT_gpu_shader4, GL_ARB_texture_rectangle, GL_EXT_texture_edge_clamp, GL_NV_transform_feedback2, GL_ARB_multi_draw_indirect, GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_coord_conventions, GL_NV_gpu_program5_mem_extended, GL_ARB_separate_shader_objects, GL_SGIX_shadow, GL_ARB_texture_cube_map, GL_NV_ES1_1_compatibility, GL_EXT_transform_feedback2, GL_ARB_vertex_attrib_binding, GL_EXT_framebuffer_sRGB, GL_ARB_clear_buffer_object, GL_NV_fragment_program_option, GL_ARB_query_buffer_object, GL_EXT_texture_compression_latc, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_robustness, GL_ARB_point_sprite, GL_ARB_texture_gather, GL_ARB_texture_buffer_object_rgb32, GL_ARB_internalformat_query2, GL_NV_depth_buffer_float, GL_ARB_depth_texture, GL_EXT_texture_object, GL_EXT_depth_bounds_test, GL_NV_fog_distance, GL_ARB_instanced_arrays, GL_EXT_blend_minmax, GL_ARB_compute_shader, GL_SGIX_depth_texture, GL_ATI_draw_buffers, GL_ARB_enhanced_layouts, GL_ARB_multi_bind, GL_ARB_framebuffer_sRGB, GL_EXT_blend_subtract, GL_NV_register_combiners2, GL_EXT_packed_pixels, GL_IBM_texture_mirrored_repeat, GL_NV_texture_shader, GL_EXT_draw_range_elements, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_cube_map_array, GL_ARB_sampler_objects, GL_ARB_half_float_vertex, GL_ARB_shader_precision, GL_ARB_gpu_shader5, GL_ARB_depth_clamp, GL_ARB_texture_storage_multisample, GL_ARB_transpose_matrix, GL_NV_parameter_buffer_object, GL_ARB_vertex_buffer_object, GL_ARB_texture_query_levels, GL_ARB_draw_indirect, GL_AMD_multi_draw_indirect, GL_EXT_pixel_buffer_object, GL_EXT_vertex_attrib_64bit, GL_ARB_transform_feedback_instanced, GL_ARB_texture_view, GL_NVX_conditional_render, GL_ARB_texture_env_combine, GL_ARB_shader_group_vote, GL_ARB_indirect_parameters, GL_ARB_shader_bit_encoding, GL_EXT_timer_query, GL_EXT_gpu_program_parameters, GL_ARB_shader_texture_lod, GL_ARB_program_interface_query, GL_ARB_uniform_buffer_object, GL_ARB_multisample, GL_EXT_texture_env_dot3, GL_NV_shader_atomic_counters, GL_EXT_shadow_funcs, GL_ARB_stencil_texturing, GL_EXT_texture_lod, GL_ARB_depth_buffer_float, GL_NV_pixel_data_range, GL_ARB_map_buffer_alignment, GL_ARB_gpu_shader_fp64, GL_EXT_stencil_wrap, GL_EXT_point_parameters, GL_NV_texture_barrier, GL_NV_gpu_program_fp64
12:32:11.121 [rendering.opengl.shader.support]: Shaders are supported.
This is how it looks with Extra Shaders:

Image

Image

Image

Image

And this is how it looks with Normal Shaders:

Image

Image

Image

Image

So the problem for me is with the Intel card. At least I now know what the problem is - and Oolite looks better than ever now I'm using the correct card! :oops: :lol:

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13887
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Split: Planet rendering issues

Post by Cody »

At distance, the terminator looks much better with normal shaders than with extra detail - but up close, it's the reverse.

This is with my usual set of OXPs, using the Nvidia GTX 550Ti. <scratches head>
A squid eating dough in a polyethylene bag is fast and bulbous! Got me?

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Split: Planet rendering issues

Post by cim »

Okay, so between the cards that works and those that don't, there are only 44 extensions that the working cards have and the not-working cards don't.

Code: Select all

+ GL_ARB_imaging
+ GL_ARB_shading_language_include
+ GL_EXT_Cg_shader
+ GL_EXT_depth_bounds_test
+ GL_EXT_direct_state_access
+ GL_EXT_import_sync_object
+ GL_EXT_separate_shader_objects
+ GL_EXT_texture_compression_dxt1
+ GL_EXT_texture_lod
+ GL_EXT_timer_query
+ GL_KTX_buffer_region
+ GL_NV_copy_depth_to_color
+ GL_NV_depth_clamp
+ GL_NV_ES1_1_compatibility
+ GL_NV_fence
+ GL_NV_float_buffer
+ GL_NV_fragment_program
+ GL_NV_fragment_program2
+ GL_NV_fragment_program_option
+ GL_NV_framebuffer_multisample_coverage
+ GL_NV_half_float
+ GL_NV_multisample_filter_hint
+ GL_NV_occlusion_query
+ GL_NV_pixel_data_range
+ GL_NV_point_sprite
+ GL_NV_register_combiners
+ GL_NV_register_combiners2
+ GL_NV_texture_compression_vtc
+ GL_NV_texture_expand_normal
+ GL_NV_texture_shader
+ GL_NV_texture_shader2
+ GL_NV_texture_shader3
+ GL_NV_vertex_array_range
+ GL_NV_vertex_array_range2
+ GL_NV_vertex_program
+ GL_NV_vertex_program1_1
+ GL_NV_vertex_program2
+ GL_NV_vertex_program2_option
+ GL_NV_vertex_program3
+ GL_NVX_conditional_render
+ GL_S3_s3tc
+ GL_SGIX_depth_texture
+ GL_SGIX_shadow
+ GL_SUN_slice_accum
So far ... both working cards are Nvidias, and all three not working cards are not. Does anyone have it working on a non-Nvidia card? Or not working on a Nvidia card?

Thinking about it ... if it is smoothstep, I wonder if it's the non-Nvidia cards being (as usual) stricter about GLSL compilation. What happens if you add

Code: Select all

#version 130
to the top of the fragment shader?

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5633
Joined: Wed Feb 28, 2007 7:54 am

Re: Split: Planet rendering issues

Post by another_commander »

cim wrote:Thinking about it ... if it is smoothstep, I wonder if it's the non-Nvidia cards being (as usual) stricter about GLSL compilation. What happens if you add

Code: Select all

#version 130
to the top of the fragment shader?
No change for me, I'm afraid.

Post Reply