Wings 3D Development Forum
[fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Bug Reports (https://www.wings3d.com/forum/forumdisplay.php?fid=12)
+--- Thread: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. (/showthread.php?tid=1507)



[fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - tkbd - 12-25-2015

I tried the newly added shader this time.
On OSX,Wings3d 2.0.2, AutoUV Create Texture Marble Shader doesn't work.
Both of custom color and a default color will not be drawn.

Here is Wings3D console log at that time.!!
Quote:Using GPU shaders.
Info: Fragment:
ERROR: 0:188: Invalid call of undeclared identifier 'trunc'
ERROR: 0:198: Use of undeclared identifier 'd'
ERROR: 0:198: Use of undeclared identifier 'd'
ERROR: 0:208: Use of undeclared identifier 'd'
ERROR: 0:208: Use of undeclared identifier 'd'
ERROR: 0:208: Use of undeclared identifier 'd'
ERROR: 0:208: Use of undeclared identifier 'd'
ERROR: 0:210: Use of undeclared identifier 'd'
ERROR: 0:210: Use of undeclared identifier 'd'
ERROR: 0:210: Use of undeclared identifier 'd'
ERROR: 0:210: Use of undeclared identifier 'd'

AUV: Error Compilation failed
AUV: No shader program found skipped 920

-------------
tkbd


RE: On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - micheus - 12-25-2015

Thanks for test it and the log. I should fix it soon.

It's a GLSL error message. It seems that some versions/drivers brand are tolerant to bad syntax in the code. I got some when porting it from a PC with Intel to my PC with AMD Radi on, but even in my PC I couldn't get this error. Smile
So, just for information, which video card are you using and what is the OpenGL/GLSL version?


RE: On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - micheus - 12-25-2015

I evaluate better the error and all the messages were caused by the first one. So it seems to be a compatibility issue.

ERROR: 0:188: Invalid call of undeclared identifier 'trunc'

I replaced the trunc function by floor that I used in the other shaders which you didn't have problems.
The trunc function was included only in GLSL 1.30 (OpenGL 3.0).

Here is the marble.vs file for replacement.


RE: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - tkbd - 12-26-2015

Thank you!
I was replaced with a new file.
Marble shader is working fine now.

Using GPU shaders.
AUV: Shader ´Marble´ ok

Quote:So, just for information, which video card are you using and what is the OpenGL/GLSL version?

In my Mac Mini (Late 2014) Graphic card is Intel Iris 1536MB
OpenGL v2.1 is used according to Wings3D's OpenGL info..

Quote:Version information
Vendor: Intel Inc.
Renderer:Intel Iris OpenGL Engine
Version :2.1 INTEL-10.12.13
Version tuple:{2,1,0}
2D-API: wxWidgets: 3.0.3.0

But It is different from the official information of Apple Site.
https://support.apple.com/en-us/HT202823

Mac Mini (Late 2014) Intel Iris Graphics : OpenGL 4.1

If it is compatible with OpenGL4.1,trunc function should work.
Hmm.....Wings detects the wrong version?
It is hard work in the same way in OpenGL a variety of environments,isn't it?Sad
Good Luck!

Full Version information:
Code:
Vendor: Intel Inc.
Renderer:Intel Iris OpenGL Engine
Version :2.1 INTEL-10.12.13
Version tuple:{2,1,0}
2D-API: wxWidgets: 3.0.3.0


OpenGL Information
Red bits : 8
Green bits : 8
Blue bits : 8
Alpha bits : 8
Depth bits : 24
Stencil bits : 8
Accum. red bits : 0
Accum. green bits : 0
Accum. blue bits : 0
Accum. alpha bits : 0
Max number of lights : 8
Max clip planes : 6
Max modelview stack depth : 32
Max projection stack depth : 10
Max texture stack depth : 10
Subpixel bits : 8
Max 3D texture size : 2048
Max texture size : 16384
Max pixel map table : 256
Max name stack depth : 128
Max display-list call nesting : 64
Max evaluator polynomial order : 10
Max viewport dimensions : 16384, 16384
Max depth of attribute stack : 16
Max depth of client attribute stack : 16
Number of auxiliary buffers : 0
Color buffers store RGBA : 1
Color buffers store indices : 0
Double buffering : 1
Stereo buffers : 0
Sample buffers : 1
Range of aliased point sizes : 1, 255
Range of antialised point sizes : 1, 256
Range of aliased line widths : 1, 7
Range of antialised line widths : 0, 7
Recommended max number of indices for drawRangeElement() : 150000
Recommended max number of vertices for drawRangeElement() : 1048575
Max number of texturing units : 8
Number of compression formats : 3
Max number of vertex units : 4

OpenGL Extensions
GL_APPLE_aux_depth_stencil
GL_APPLE_client_storage
GL_APPLE_element_array
GL_APPLE_fence
GL_APPLE_float_pixels
GL_APPLE_flush_buffer_range
GL_APPLE_flush_render
GL_APPLE_object_purgeable
GL_APPLE_packed_pixels
GL_APPLE_pixel_buffer
GL_APPLE_rgb_422
GL_APPLE_row_bytes
GL_APPLE_specular_vector
GL_APPLE_texture_range
GL_APPLE_transform_hint
GL_APPLE_vertex_array_object
GL_APPLE_vertex_array_range
GL_APPLE_vertex_point_size
GL_APPLE_vertex_program_evaluators
GL_APPLE_ycbcr_422
GL_ARB_color_buffer_float
GL_ARB_depth_buffer_float
GL_ARB_depth_clamp
GL_ARB_depth_texture
GL_ARB_draw_buffers
GL_ARB_draw_elements_base_vertex
GL_ARB_draw_instanced
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_framebuffer_object
GL_ARB_framebuffer_sRGB
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex
GL_ARB_instanced_arrays
GL_ARB_multisample
GL_ARB_multitexture
GL_ARB_occlusion_query
GL_ARB_pixel_buffer_object
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_provoking_vertex
GL_ARB_seamless_cube_map
GL_ARB_shader_objects
GL_ARB_shader_texture_lod
GL_ARB_shading_language_100
GL_ARB_shadow
GL_ARB_sync
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_compression_rgtc
GL_ARB_texture_cube_map
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_mirrored_repeat
GL_ARB_texture_non_power_of_two
GL_ARB_texture_rectangle
GL_ARB_texture_rg
GL_ARB_transpose_matrix
GL_ARB_vertex_array_bgra
GL_ARB_vertex_blend
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_ATI_separate_stencil
GL_ATI_texture_env_combine3
GL_ATI_texture_float
GL_ATI_texture_mirror_once
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_draw_buffers2
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_blit
GL_EXT_framebuffer_multisample
GL_EXT_framebuffer_multisample_blit_scaled
GL_EXT_framebuffer_object
GL_EXT_framebuffer_sRGB
GL_EXT_geometry_shader4
GL_EXT_gpu_program_parameters
GL_EXT_gpu_shader4
GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil
GL_EXT_packed_float
GL_EXT_provoking_vertex
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shadow_funcs
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_EXT_texture_array
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_EXT_texture_env_add
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_integer
GL_EXT_texture_lod_bias
GL_EXT_texture_rectangle
GL_EXT_texture_sRGB
GL_EXT_texture_sRGB_decode
GL_EXT_texture_shared_exponent
GL_EXT_timer_query
GL_EXT_transform_feedback
GL_EXT_vertex_array_bgra
GL_IBM_rasterpos_clip
GL_NV_blend_square
GL_NV_conditional_render
GL_NV_depth_clamp
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_texgen_reflection
GL_NV_texture_barrier
GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod

I found another bug.
Error has also occurred in the *Noise* shader.

Quote:Info: Fragment:
ERROR: 0:393: '-' does not operate on 'float' and 'int'

AUV: Error Compilation failed
AUV: No shader program found skipped 920
----------
tkbd


RE: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - dgud - 12-26-2015

Well the Mac handles opengl versions differently depending on its initialized.


RE: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - micheus - 12-26-2015

(12-26-2015, 01:17 PM)tkbd Wrote: I found another bug.
Error has also occurred in the *Noise* shader.

Quote:Info: Fragment:
ERROR: 0:393: '-' does not operate on 'float' and 'int'

AUV: Error Compilation failed
AUV: No shader program found skipped 920
tkbd, the noise_ext.fs if ready for download.

I think dgud is talking about what I read in this comment I found here.


RE: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - tkbd - 12-27-2015

Still the same error came out.
Quote:ERROR: 0:393: '-' does not operate on 'float' and 'int'
So, I change your code to "d = (d - float(int(d)));" wrapping by float()

Then, Psychedelic noise (and other noise shaders) are workng!!Biggrin
In OSX, it seems type of variable is strict.

Is it correct in this image result?
[Image: th_psychedlic_shader_zpswbcessd8.png]

------
tkbd


RE: [fixed] On OSX,Wings3d 2.0.2,AutoUV Marble Shader doesn't work. - micheus - 12-27-2015

(12-27-2015, 02:40 AM)tkbd Wrote: So, I change your code to "d = (d - float(int(d)));" wrapping by float()
That's then problem of the variety of environment. Smile
I can't test it properly and have to judge the fix by the error message only.

Thank you for test and share the fix.