Hi, Michalis!
My name is Elmar Knittel and I live in Germany.
I've just tested the new version 3.18.0 of your fantastic
program "view3dscene" (best VRML-viewer ever) on Windows.
view3dscene_3.18.0-win64-x86_64 on
Windows 10.0.17763.134-x64-Home
The new shader-pipeline has some issues running on my
AMD E1-2500 APU (AMD Radeon HD 8200 / R3 Series, see below),
that weren't there with the fixed pipeline in ver 3.17.0
and which vanish if I use "--debug-enable-fixed-function"
or if I use additional VRML/X3D nodes (see examples).
===================================================================
A simple VRML 1.0 file like:
#VRML V1.0 ascii
Separator {
Texture2 { image 1 1 3 -1 }
Coordinate3 { point [ 0 1 0, -1 -1 0, 1 -1 0 ] }
IndexedFaceSet { coordIndex [ 0,1,2,-1 ] }
}
dosn't work, but adding:
"MaterialBinding { value PER_PART }"
makes view3dscene 3.18.0 display the triangle correctly,
even without "--debug-enable-fixed-function" set:
#VRML V1.0 ascii
Separator {
Texture2 { image 1 1 3 -1 }
MaterialBinding { value PER_PART } # added line!
Coordinate3 { point [ 0 1 0, -1 -1 0, 1 -1 0 ] }
IndexedFaceSet { coordIndex [ 0,1,2,-1 ] }
}
===================================================================
Almost the same goes for VRML97/X3D:
#VRML V2.0 utf8
Shape {
appearance Appearance { material Material {}
texture PixelTexture { image 1 1 3 -1 }
}
geometry IndexedFaceSet { coordIndex [ 0,1,2,-1 ]
coord Coordinate { point [ 0 1 0, -1 -1 0, 1 -1 0 ] }
}
}
doesn't work, but adding:
"color Color { color .8 .8 .8 } colorIndex [ 0,0,0 ]"
does the job:
#VRML V2.0 utf8
Shape {
appearance Appearance { material Material {}
texture PixelTexture { image 1 1 3 -1 }
}
geometry IndexedFaceSet { coordIndex [ 0,1,2,-1 ]
coord Coordinate { point [ 0 1 0, -1 -1 0, 1 -1 0 ] }
color Color { color .8 .8 .8 } colorIndex [ 0,0,0 ] # added line!
}
}
===================================================================
A second (minor) issue is that anti-aliasing is disabled when the option:
"Screenshot to Image (Transparent Background) ..." or
"Screenshot to Video / Multiple Images (Transparent Background) ..."
from the "Display" menu is chosen (all tested versions).
The resulting snapshots look pretty "jagged" at the object edges.
===================================================================
A third (minor) issue is that view3dscene (in all versions) doesn't
gracefully handle situations when the "view3dscene.conf" file is
read-only to guarantee the same settings for all VRML/X3D files.
Exception 'EFCreateError'
Unable to create file
'C:\User\XXXX\AppData\Local\view3dscene\view3dscene.conf'
An unhandled exception occurred at $000000010003293B:
EFCreateError: Unable to create file
'C:\User\XXXX\AppData\Local\view3dscene\view3dscene.conf'
$000000010003293B
$000 ... etc.
===================================================================
A fourth issue might be (I'm not shure) that "freetype-6.dll" is missing
in the downloadable ZIP-file from:
"https://michalis.ii.uni.wroc.pl/view3dscene-snapshots/".
===================================================================
And at last a Cristmas wish:
*Please* implement ECMA-Script for view3dscene,
to make it more standard conformant and because
there are thousands of VRML/X3D files using it.
With best regards, Elmar.
===================================================================
Radeon Softwareversion - 17.7
Radeon Software Edition - Crimson ReLive
Grafik-Chipsatz - AMD Radeon HD 8200 / R3 Series
CPU-Typ - AMD E1-2500 APU with Radeon(TM) HD Graphics
Driver Version - 17.30.1091.1011-170922a-318486C
Direct3D® Version - 9.14.10.01304
OpenGL® Version - 6.14.10.13492
OpenCL™ Version - 22.19.677.257
AMD Mantle-Version - 9.1.10.0220
AMD Mantle API-Version - 102400
Vulkan™ Driver Version - 1.6.0
Vulkan™ API Version - 1.0.51
===================================================================
OpenGL information (detected by view3dscene):
Version:
Version string: 4.5.13492 Compatibility Profile Context 22.19.677.257
Version parsed: major: 4, minor: 5, release exists: True, release: 13492,
vendor-specific information: "Compatibility Profile Context 22.19.677.257"
Vendor-specific version parsed: major: 22, minor: 19, release: 677
Vendor: ATI Technologies Inc.
Vendor type: ATI
Renderer: AMD Radeon HD 8200 / R3 Series
Fglrx (ATI on Linux): False
Mesa: False
Buggy glGenerateMipmap(EXT): False
Buggy GL_LIGHT_MODEL_TWO_SIDE: False
Buggy VBO: False
Buggy shader shadow map: 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: False
Real versions available:
(checks both version string and actual functions availability in GL library,
to secure from buggy OpenGL 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) support: Standard
=> Enable deprecated (fixed-function) support: False
Multi-texturing: True
Framebuffer Object: Standard (or ARB "core extension")
Multi-sampling for FBO buffers and textures: True
Vertex Buffer Object: True
GenerateMipmap available (and reliable): True
Cube map textures: Standard
Compressed textures supported: [DXT1_RGB, DXT1_RGBA, DXT3, DXT5]
3D textures: Standard
Textures non-power-of-2: True
Blend constant parameter: True
Float textures: True
Depth textures: True
Packed depth + stencil: True
All extensions:
GL_AMDX_debug_output
GL_AMD_blend_minmax_factor
GL_AMD_conservative_depth
GL_AMD_debug_output
GL_AMD_depth_clamp_separate
GL_AMD_draw_buffers_blend
GL_AMD_framebuffer_sample_positions
GL_AMD_gcn_shader
GL_AMD_gpu_shader_int64
GL_AMD_interleaved_elements
GL_AMD_multi_draw_indirect
GL_AMD_name_gen_delete
GL_AMD_occlusion_query_event
GL_AMD_performance_monitor
GL_AMD_pinned_memory
GL_AMD_query_buffer_object
GL_AMD_sample_positions
GL_AMD_seamless_cubemap_per_texture
GL_AMD_shader_atomic_counter_ops
GL_AMD_shader_stencil_export
GL_AMD_shader_stencil_value_export
GL_AMD_shader_trace
GL_AMD_shader_trinary_minmax
GL_AMD_sparse_texture
GL_AMD_sparse_texture_pool
GL_AMD_stencil_operation_extended
GL_AMD_texture_cube_map_array
GL_AMD_texture_texture4
GL_AMD_transform_feedback3_lines_triangles
GL_AMD_transform_feedback4
GL_AMD_vertex_shader_layer
GL_AMD_vertex_shader_viewport_index
GL_ARB_ES2_compatibility
GL_ARB_ES3_1_compatibility
GL_ARB_ES3_compatibility
GL_ARB_arrays_of_arrays
GL_ARB_base_instance
GL_ARB_bindless_texture
GL_ARB_blend_func_extended
GL_ARB_buffer_storage
GL_ARB_clear_buffer_object
GL_ARB_clear_texture
GL_ARB_clip_control
GL_ARB_color_buffer_float
GL_ARB_compatibility
GL_ARB_compressed_texture_pixel_storage
GL_ARB_compute_shader
GL_ARB_conditional_render_inverted
GL_ARB_conservative_depth
GL_ARB_copy_buffer
GL_ARB_copy_image
GL_ARB_cull_distance
GL_ARB_debug_output
GL_ARB_depth_buffer_float
GL_ARB_depth_clamp
GL_ARB_depth_texture
GL_ARB_derivative_control
GL_ARB_direct_state_access
GL_ARB_draw_buffers
GL_ARB_draw_buffers_blend
GL_ARB_draw_elements_base_vertex
GL_ARB_draw_indirect
GL_ARB_draw_instanced
GL_ARB_enhanced_layouts
GL_ARB_explicit_attrib_location
GL_ARB_explicit_uniform_location
GL_ARB_fragment_coord_conventions
GL_ARB_fragment_layer_viewport
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_framebuffer_no_attachments
GL_ARB_framebuffer_object
GL_ARB_framebuffer_sRGB
GL_ARB_geometry_shader4
GL_ARB_get_program_binary
GL_ARB_get_texture_sub_image
GL_ARB_gl_spirv
GL_ARB_gpu_shader5
GL_ARB_gpu_shader_fp64
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex
GL_ARB_imaging
GL_ARB_indirect_parameters
GL_ARB_instanced_arrays
GL_ARB_internalformat_query
GL_ARB_internalformat_query2
GL_ARB_invalidate_subdata
GL_ARB_map_buffer_alignment
GL_ARB_map_buffer_range
GL_ARB_multi_bind
GL_ARB_multi_draw_indirect
GL_ARB_multisample
GL_ARB_multitexture
GL_ARB_occlusion_query
GL_ARB_occlusion_query2
GL_ARB_pipeline_statistics_query
GL_ARB_pixel_buffer_object
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_program_interface_query
GL_ARB_provoking_vertex
GL_ARB_query_buffer_object
GL_ARB_robust_buffer_access_behavior
GL_ARB_sample_shading
GL_ARB_sampler_objects
GL_ARB_seamless_cube_map
GL_ARB_seamless_cubemap_per_texture
GL_ARB_separate_shader_objects
GL_ARB_shader_atomic_counters
GL_ARB_shader_ballot
GL_ARB_shader_bit_encoding
GL_ARB_shader_draw_parameters
GL_ARB_shader_group_vote
GL_ARB_shader_image_load_store
GL_ARB_shader_image_size
GL_ARB_shader_objects
GL_ARB_shader_precision
GL_ARB_shader_stencil_export
GL_ARB_shader_storage_buffer_object
GL_ARB_shader_subroutine
GL_ARB_shader_texture_image_samples
GL_ARB_shader_texture_lod
GL_ARB_shader_viewport_layer_array
GL_ARB_shading_language_100
GL_ARB_shading_language_420pack
GL_ARB_shading_language_packing
GL_ARB_shadow
GL_ARB_shadow_ambient
GL_ARB_sparse_buffer
GL_ARB_sparse_texture
GL_ARB_stencil_texturing
GL_ARB_sync
GL_ARB_tessellation_shader
GL_ARB_texture_barrier
GL_ARB_texture_border_clamp
GL_ARB_texture_buffer_object
GL_ARB_texture_buffer_object_rgb32
GL_ARB_texture_buffer_range
GL_ARB_texture_compression
GL_ARB_texture_compression_bptc
GL_ARB_texture_compression_rgtc
GL_ARB_texture_cube_map
GL_ARB_texture_cube_map_array
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_ARB_texture_float
GL_ARB_texture_gather
GL_ARB_texture_mirror_clamp_to_edge
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_multisample
GL_ARB_texture_non_power_of_two
GL_ARB_texture_query_levels
GL_ARB_texture_query_lod
GL_ARB_texture_rectangle
GL_ARB_texture_rg
GL_ARB_texture_rgb10_a2ui
GL_ARB_texture_snorm
GL_ARB_texture_stencil8
GL_ARB_texture_storage
GL_ARB_texture_storage_multisample
GL_ARB_texture_swizzle
GL_ARB_texture_view
GL_ARB_timer_query
GL_ARB_transform_feedback2
GL_ARB_transform_feedback3
GL_ARB_transform_feedback_instanced
GL_ARB_transform_feedback_overflow_query
GL_ARB_transpose_matrix
GL_ARB_uniform_buffer_object
GL_ARB_vertex_array_bgra
GL_ARB_vertex_array_object
GL_ARB_vertex_attrib_64bit
GL_ARB_vertex_attrib_binding
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_vertex_type_10f_11f_11f_rev
GL_ARB_vertex_type_2_10_10_10_rev
GL_ARB_viewport_array
GL_ARB_window_pos
GL_ATI_draw_buffers
GL_ATI_envmap_bumpmap
GL_ATI_fragment_shader
GL_ATI_separate_stencil
GL_ATI_texture_compression_3dc
GL_ATI_texture_env_combine3
GL_ATI_texture_float
GL_ATI_texture_mirror_once
GL_EXT_abgr GL_EXT_bgra
GL_EXT_bindable_uniform
GL_EXT_blend_color
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_copy_buffer
GL_EXT_copy_texture
GL_EXT_depth_bounds_test
GL_EXT_direct_state_access
GL_EXT_draw_buffers2
GL_EXT_draw_instanced
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_blit
GL_EXT_framebuffer_multisample
GL_EXT_framebuffer_object
GL_EXT_framebuffer_sRGB
GL_EXT_geometry_shader4
GL_EXT_gpu_program_parameters
GL_EXT_gpu_shader4
GL_EXT_histogram
GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil
GL_EXT_packed_float
GL_EXT_packed_pixels
GL_EXT_pixel_buffer_object
GL_EXT_point_parameters
GL_EXT_polygon_offset_clamp
GL_EXT_provoking_vertex
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shader_image_load_store
GL_EXT_shader_integer_mix
GL_EXT_shadow_funcs
GL_EXT_stencil_wrap
GL_EXT_subtexture
GL_EXT_texgen_reflection
GL_EXT_texture3D
GL_EXT_texture_array
GL_EXT_texture_buffer_object
GL_EXT_texture_compression_bptc
GL_EXT_texture_compression_latc
GL_EXT_texture_compression_rgtc
GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_integer
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_mirror_clamp
GL_EXT_texture_object
GL_EXT_texture_rectangle
GL_EXT_texture_sRGB
GL_EXT_texture_sRGB_decode
GL_EXT_texture_shared_exponent
GL_EXT_texture_snorm
GL_EXT_texture_storage
GL_EXT_texture_swizzle
GL_EXT_timer_query
GL_EXT_transform_feedback
GL_EXT_vertex_array
GL_EXT_vertex_array_bgra
GL_EXT_vertex_attrib_64bit
GL_IBM_texture_mirrored_repeat
GL_INTEL_fragment_shader_ordering
GL_KHR_context_flush_control
GL_KHR_debug
GL_KHR_robust_buffer_access_behavior
GL_KHR_robustness
GL_KTX_buffer_region
GL_NV_alpha_to_coverage_dither_control
GL_NV_blend_square
GL_NV_conditional_render
GL_NV_copy_depth_to_color
GL_NV_copy_image
GL_NV_depth_buffer_float
GL_NV_explicit_multisample
GL_NV_float_buffer
GL_NV_half_float
GL_NV_primitive_restart
GL_NV_texgen_reflection
GL_NV_texture_barrier
GL_OES_EGL_image
GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
GL_SUN_multi_draw_arrays
GL_WIN_swap_hint
WGL_EXT_swap_control
OpenGL utility (GLU) version:
Version string: 1.2.2.0 Microsoft Corporation
Version parsed: major: 1, minor: 2, release exists: True, release: 2,
vendor-specific information: ".0 Microsoft Corporation"
Extensions: GL_EXT_bgra
Current buffers bit depths:
Color (red / green / blue / alpha): 8 / 8 / 8 / 8
Depth: 24
Index: 0
Stencil: 8
Accumulation (red / green / blue / alpha): 0 / 0 / 0 / 0
Double buffer: True
Multisampling (full-screen antialiasing): True
Current: 8 samples per pixel
Stack depths:
Attributes: 16
Client attributes: 16
Modelview: 32
Projection: 10
Texture: 10
Name: 64
Limits:
Max clip planes: 8
Max lights: 8
Max eval order: 40
Max list nesting: 64
Max pixel map table: 256
Max texture size: 16384
Max viewport dims: width 16384 / height 16384
Max texture units (shader pipeline): 32
Max texture units (fixed-function): 8
Max cube map texture size: 16384
Max 3d texture size: 2048
Max texture max anisotropy: 16
Query counter bits (for occlusion query): 32
Max renderbuffer size: 16384
Memory (in Kb):
Total: 0 (unknown)
Current: 0 (unknown)
Current for VBO: 0 (unknown)
Current for Textures: 0 (unknown)
Current for Renderbuffers: 0 (unknown)