JeGX's Higgledy-Piggledy GeeXLab Screenshots

Started by JeGX, September 25, 2018, 08:35:38 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.


baryluk

#21
Quote from: JeGX on September 01, 2020, 02:29:34 PM
Gerstner waves.

Vertex shader based:

GeeXLab demo - Gerstner waves



Compute shader based:

GeeXLab demo - Gerstner waves


Really love, it. The Compute based one doesn't work for me:


GeeXLab v0.41.2.0 (Feb 17 2021@17:34:40)
...
...
info    ...
info    [OpenGL] GLX version: 1.4
info    [OpenGL] GLX_VENDOR (srv): SGI
info    [OpenGL] GLX_VERSION (svr): 1.4
info    [OpenGL] GLX_VENDOR (client): Mesa Project and SGI
info    [OpenGL] GLX_VERSION (client): 1.4
info    [OpenGL] GLX_RENDERER_VENDOR_ID_MESA: 4098
info    [OpenGL] GLX_RENDERER_DEVICE_ID_MESA: 29440
info    [OpenGL] GLX_RENDERER_VERSION_MESA: 20.3.4
info    [OpenGL] GLX_RENDERER_ACCELERATED_MESA: 1
info    [OpenGL] GLX_RENDERER_VIDEO_MEMORY_MESA: 4096 MB
info    [OpenGL] GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA: NO
info    [OpenGL] GLX_RENDERER_VENDOR_ID_MESA: AMD
info    [OpenGL] GLX_RENDERER_DEVICE_ID_MESA: AMD Radeon (TM) R9 Fury Series (FIJI, DRM 3.40.0, 5.10.0-3-amd64, LLVM 11.0.1)
info    Gerstner Waves - Compute Shaders - demo started with an OpenGL 4.6 context.
info    Quick OpenGL information (use /glinfo for more limits):
info    GL_RENDERER: AMD Radeon (TM) R9 Fury Series (FIJI, DRM 3.40.0, 5.10.0-3-amd64, LLVM 11.0.1)
info    GL_VENDOR: AMD
info    GL_VERSION: 4.6 (Core Profile) Mesa 20.3.4
info    GL_SHADING_LANGUAGE_VERSION: 4.60
info    OpenGL version detected: 4.6
info    OpenGL extensions: 227
info    OpenGL hardware limits:
info      GL_MAX_VERTEX_ATTRIBS: 16
info      GL_MAX_VERTEX_UNIFORM_COMPONENTS: 16384
info      GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: 16384
info      GL_MAX_TEXTURE_SIZE: 16384
info      GL_MAX_VIEWPORT_DIMS: 16384 16384
info      GL_MAX_TEXTURE_IMAGE_UNITS: 32
info      GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 192
info    Render window (Gerstner Waves - Compute Shaders) initialized (renderer type: OpenGL)
warn    GPU program particle_prog - Pixel shader info log: 0:1(10): error: the compatibility profile is not supported

error   GPU program particle_prog - Pixel shader error: 0:1(10): error: the compatibility profile is not supported

info    GPU program particle_prog info log:
Pixel shader info log: 0:1(10): error: the compatibility profile is not supported



I need to pass `MESA_GL_VERSION_OVERRIDE=4.6COMPA` environment value, to make it launch. Not sure why I need that, but I don't know how compatibility profiles really work.

The "Particle size" slider, doesn't look to be doing anything either - it doesn't show these shiny star-like points on the grid vertices.

JeGX

Try to remove the compatibility keyword in shaders/pixel.glsl.

Replace

#version 150 compatibility


by

#version 150


It's probably a copy/paste from a very old shader...

baryluk

Quote from: JeGX on March 08, 2021, 02:16:39 PM
Try to remove the compatibility keyword in shaders/pixel.glsl.

Replace

#version 150 compatibility


by

#version 150


It's probably a copy/paste from a very old shader...

Thanks, that fixed both the start of the benchmark, and the shiny "particles" now show up too.

JeGX

I'm adding the support of ImNodes. It's a small node editor for Dear ImGui.

GeeXLab - ImNodes - node editor

GeeXLab - ImNodes - node editor

JeGX

I discovered this Linux distribution this morning and I quickly put it on an usb key to test GeeXLab.

Result: GeeXLab works fine!

System: AMD Ryzen 5 3600 + AMD Radeon RX 5500XT + open source drivers.

I like the way the windows are smoothly deformed when they are moved...

OpenGL:
GeeXLab - Garuda Linux

OpenGL:
GeeXLab - Garuda Linux

Vulkan:
GeeXLab - Garuda Linux

JeGX

I just ported this cool twigl demo to geexlab:
https://twigl.app/?ol=true&ss=-NqUk6pcpkcFek1iupHp

The demo is available in the OpenGL 3 demopack:
geexlab-demopack-gl32/d30-twigl/twigl24.xml

Here is the official GLSL code:
for(float e,i,a,w,x,g,h;i++<90.;o+=.01-.02/exp(max(s,e)*3e3)/h){vec3 p=vec3((FC.xy-.5*r)/r.y*g+2.,g);p.zy*=rotate2D(.5);e=p.y;h=e+p.x*.3;p.z+=t;for(a=.6;a>.001;a*=.7)p.xz*=rotate2D(5.),x=(p.x+p.z)/a+t+t,e-=w=exp(sin(x)-3.)*a,h+=abs(dot(sin(p.xz/a*.3)*a,r/r));g+=e=min(e,h*.5-1.);}

Actually the real shader code is a bit longer (see the pixel shader code in the GeeXLab demo).

"GeeXLab - twigl demo"

JeGX

New twigl demo ported to geexlab:
https://twigl.app/?ol=true&ss=-NrAcm6xJXUiSdJABOXR

The demo is available in the OpenGL 3 demopack:
geexlab-demopack-gl32/d30-twigl/twigl25.xml

Here is the official GLSL code:
vec3 p,q=-vec3(t,-.4,2),d=vec3((FC.xy-.5*r)/r.y,1);for(float i,e,v,u;i++<160.;o+=(i>80.?d/=d,e:exp(v/4e2))/5e2){p=q+=d*e;e=v=4.;p.x-=round(p.x);for(int j;j++<9;e=min(e,max(length(p.xz=abs(p.xz*=rotate2D(1.))-.6)-.02/u,p.y)/v))v/=u=dot(p,p),p/=u+.01,p.y=1.7-p.y;e=min(e,q.y-.1);}

On PC + NVIDIA 546.33 drivers, variables in the init part of both for loops (i,e,v,u) and (j) must be initialized to 0 otherwise trees are not rendered...

GeeXLab - twigl demo