Coder Social home page Coder Social logo

Comments (115)

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi, sorry but I have no time to make AB work with 3.3 and lower openGL versions :/

from awesomebump.

 avatar commented on June 23, 2024

Hi, AB doesn't support versions of OpenGL lower than 4.0, mainly because of the tessellation feature. You can run AwesomeBump on your computer by using a different set of drivers. I'm assuming you're using a NVIDIA graphics card. Open your terminal and type in sudo add-apt-repository ppa:xorg-edgers/ppa -y. When that finishes, sudo apt-get update, and then sudo apt-get install nvidia-current. Open your Additional Drivers window, and select "NVIDIA binary drivers - version 340.76 from nvidia-340". To get CUDA support, sudo apt-get install nvidia-modprobe. You'll have to reboot.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Another question: does your GPU use the Optimus technology?

from awesomebump.

Calinou avatar Calinou commented on June 23, 2024

No, this is a desktop PC.

Hi, AB doesn't support versions of OpenGL lower than 4.0, mainly because of the tessellation feature. You can run AwesomeBump on your computer by using a different set of drivers. I'm assuming you're using a NVIDIA graphics card. Open your terminal and type in sudo add-apt-repository ppa:xorg-edgers/ppa -y. When that finishes, sudo apt-get update, and then sudo apt-get install nvidia-current. Open your Additional Drivers window, and select "NVIDIA binary drivers - version 340.76 from nvidia-340". To get CUDA support, sudo apt-get install nvidia-modprobe. You'll have to reboot.

Please, don't suggest people to use proprietary software. Don't suggest PPAs to Debian users either. Really, there are a lot of people with cards that don't support OpenGL 4.0. Can't you just disable the tesselation feature somewhere in configuration?

PS: I have modified and recompiled the program to remove the check, but it segfaults on start.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

It will segfaults for sure, your card does not support openGL 4.0 (or use have intel graphics card).
Did you read my comment to issue: #31

What wrong is with proprietary drivers?

from awesomebump.

 avatar commented on June 23, 2024

The X-edgers drivers are open-source...I use OpenSUSE and Ubuntu, never tried Debian. I thought the process would be the same on Debian as it is on Ubuntu.

from awesomebump.

Calinou avatar Calinou commented on June 23, 2024

The X-edgers drivers are open-source...

No, the NVIDIA driver you're telling me to install is a proprietary blob, that also breaks on every kernel update unless you're using hacks like DKMS.

What wrong is with proprietary drivers?

It is poorly regarded in the free/libre software community to recommend proprietary software like this.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi, I need people to test a new version of AB. I've added some improvements to support openGL 3.30.
See this file and step 8: https://github.com/kmkolasinski/AwesomeBump/releases/download/BuildingAB/BuildingInstruction.pdf
Basically you just have to define a new variable or create a new build configuration "CONFIG+=release_gl330". See how it works in Qt pro file:
CONFIG(release_gl330) {
#This is a release build
DEFINES += USE_OPENGL_330
TARGET = AwesomeBumpGL330
} else {
TARGET = AwesomeBump
#This is a debug build
}

from awesomebump.

swamp-fish avatar swamp-fish commented on June 23, 2024

Hi, my card and driver have OpenGL3.3 support yet program says it doesn't. I'm using OSS driver.
glxinfo | grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD JUNIPER
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.2
OpenGL core profile shading language version string: 3.30

from awesomebump.

 avatar commented on June 23, 2024

Which version is AwesomeBump using? Check the log.txt file.

from awesomebump.

swamp-fish avatar swamp-fish commented on June 23, 2024

[24/05/2015 21:00:00] {Debug} Starting application:
[24/05/2015 21:00:00] {Debug} "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[24/05/2015 21:00:00] {Debug} Checking OpenGL version...
[24/05/2015 21:00:00] {Debug} Widget OpenGL: 3 . 0
[24/05/2015 21:00:00] {Debug} Context valid: true
[24/05/2015 21:00:00] {Debug} OpenGL information:
[24/05/2015 21:00:00] {Debug} VENDOR: X.Org
[24/05/2015 21:00:00] {Debug} RENDERER: Gallium 0.4 on AMD JUNIPER
[24/05/2015 21:00:00] {Debug} VERSION: 3.0 Mesa 10.3.2
[24/05/2015 21:00:00] {Debug} GLSL VERSION: 1.30
[24/05/2015 21:00:00] {Debug} Version: 3
[24/05/2015 21:00:00] {Debug} Error: This version of AwesomeBump does not support openGL versions lower than 3.3 :(

from awesomebump.

 avatar commented on June 23, 2024

Hm, that's strange. I don't really know what's going on with that, @kmkolasinski might know.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi, there is a problem which I don't understand :/ It seems that QT does not recognize your version of openGL.
Just see the log file: it says that the gl version is 3.0, but you need 3.3 to run AB.
Did you try ti use: primusrun or optirun commands? Maybe your drivers are causing problems.

from awesomebump.

swamp-fish avatar swamp-fish commented on June 23, 2024

What has technologies for Nvidia GPUs to do with an AMD card?
Drivers seems to be working just fine, Houdini recognizes OpenGL3.3(it has OpenGL3.2 viewport and some time ago it was enabled by default so the ones who had no support couldn't even run it) for years already, kwin recognizes it and i can use OpenGL3.1 compositing, glxinfo lists all extensions from it as well as pointing out that core profile is 3.3 while the minimum is 3.0. Core profile is used by default.

Here is full output of glxinfo http://justpaste.it/lcfq

Also i've found this https://wiki.qt.io/How_to_use_OpenGL_Core_Profile_with_Qt maybe it'll help

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

The author of this issue also uses the OpenSource drivers and he has the same problems (I think so). I just don't trust Mesa drivers. You can try to modify the code and compile it using the suggestions in the link above, but I'm quite sure it wont help you.
@Terrance8D did you try to use open source drivers?
@swamp-fish Could you build AB from source?
Currently I'm very busy and I don't have time for AB.

from awesomebump.

 avatar commented on June 23, 2024

I have used the open source Nouveau drivers with AwesomeBump before, but that didn't work because they're only up to OpenGL 2.1 since last time I checked. Switching between Nouveau and the proprietary drivers on Linux is sort of complicated, but nothing that an Arch Linux user can't handle.;) I'll try them out again and report back here.

from awesomebump.

swamp-fish avatar swamp-fish commented on June 23, 2024

I am not a programmer so unfortunately i can't rewrite anything just making what i can and report a problem.

from awesomebump.

 avatar commented on June 23, 2024

@swamp-fish There is a Linux build script included in the source files, just chmod +x it and run it, it will compile everything for you.
@kmkolasinski Unfortunately I wasn't ale to test the open source drivers with AB. After I installed them I couldn't start a graphical session due to a fatal error that was caused by them. Luckily I configured my system to boot into tty, right?;)

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I'm not sure that rebuilding AB may help. As you see: @Terrance8D , @Calinou and you had the same problem with open source drivers. I think you could even find more users who can confirm that.

from awesomebump.

swamp-fish avatar swamp-fish commented on June 23, 2024

It didn't compile anything it wants qmake, i don't know where to get it.
And it seems i'm not the only one, Mac user with the same problem:
http://blenderartists.org/forum/showthread.php?366395-AwesomeBump-3-0-beta-released!&p=2881110&viewfull=1#post2881110

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Hi, I face the same problem, OpenGL 3.3 here but AwesomeBump says I have GL 3.0

$ glxinfo | grep ' vendor \| renderer \| core profile version \| core profile shading '
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TAHITI
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.7.0-devel (git-7830e46 2015-07-31 vivid-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
$ cat log.txt 
[31/07/2015 10:22:21] {Debug}        Starting application:
[31/07/2015 10:22:21] {Debug}        "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[31/07/2015 10:22:21] {Debug}        Checking OpenGL version...
[31/07/2015 10:22:21] {Debug}        Widget OpenGL:  3 . 0
[31/07/2015 10:22:21] {Debug}        Context valid:  true
[31/07/2015 10:22:21] {Debug}        OpenGL information: 
[31/07/2015 10:22:21] {Debug}        VENDOR:  X.Org
[31/07/2015 10:22:21] {Debug}        RENDERER:  Gallium 0.4 on AMD TAHITI
[31/07/2015 10:22:21] {Debug}        VERSION:  3.0 Mesa 10.7.0-devel (git-7830e46 2015-07-31 vivid-oibaf-ppa)
[31/07/2015 10:22:21] {Debug}        GLSL VERSION:  1.30
[31/07/2015 10:22:21] {Debug}        Version: 3
[31/07/2015 10:22:21] {Debug}        Error: This version of AwesomeBump does not support openGL versions lower than 3.3 :(

Perhaps the program checks the Mesa version instead of the OpenGL core profile?

What wrong is with proprietary drivers?

They do not work at all on my computer (i.e. system freeze) and even mesa nightly builds are more stable and safer than proprietary drivers. Proprietary drivers are not an option.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

If I bypass checkOpenGL and build the GL330 version I get:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004b6203 in GLTexture::GLTexture() ()
(gdb) bt
#0  0x00000000004b6203 in GLTexture::GLTexture() ()
#1  0x00000000004b75f4 in GLTextureCube::GLTextureCube(QStringList const&, int) ()
#2  0x0000000000416986 in GLWidget::chooseSkyBox(QString, bool) ()
#3  0x00000000004456e4 in MainWindow::MainWindow(QWidget*) ()
#4  0x0000000000412b7e in main ()

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Well, only the core profile is 3.3:

$ glxinfo | grep 'OpenGL.*version'
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.3
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 10.6.3
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Also, from http://mesa3d.org/relnotes/10.6.3.html:

OpenGL 3.3 is only available if requested at context creation because compatibility contexts are not supported.

This sentence has been present in the release notes ever since support for 3.3 has been added, and it has also been present for 3.1 before (Mesa 9). As it seems AwesomeBump requests the exact OpenGL version on OS X already, probably this should be done on Linux as well.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi,
so you mean that the problem is only on the linux systems?

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

I’ll summarise what I mean in a list;

  • Mesa is an Open Source implementation of the OpenGL spec for Linux
  • It supports OpenGL 3.3 since version 10
  • However, it does not support OpenGL compatibility contexts
  • Therefore programs that want to use OpenGL 3.3 with Mesa need to request this particular version at context creation
  • To me it seems like AwesomeBump does exactly this already on OS X for OpenGL 4.1, due to this piece of code in main.cpp
  • If my understanding of the problem is correct, it should be possible to fix the problem by doing exactly the same on Linux for OpenGL 3.3

so you mean that the problem is only on the linux systems?

AFAIK it does only affect Linux systems using Mesa. However I might be wrong, since I haven’t actually used any other OpenGL implementations / drivers than Mesa yet.

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

If it helps, I think this code should fix it:

#ifdef Q_OS_LINUX
    glFormat.setProfile( QGLFormat::CoreProfile );
    glFormat.setVersion( 3, 3 );
#endif

However I know neither Qt nor C++, so this is mainly based on guessing and the actual solution might look a bit different.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Wow great, thank you for the explanation. I just committed the solution proposed by you.
Did anyone of you tried to build AB with this modification and test it on Mesa drivers?

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

I get same segfault I got before when I replaced if (!checkOpenGL()) by if (false) (see my comment above).

It means the patch by @J5lx works, but AwesomeBumpGL330 segfault on my GL3.3 system.

gbd backtraces:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004b6203 in GLTexture::GLTexture() ()
(gdb) thread apply all bt

Thread 6 (Thread 0x7fffed006700 (LWP 20535)):
#0  0x00007ffff5f0e8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff2875b72 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff287764f in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007ffff7eb0099 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
#4  0x00007ffff6d45b0e in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff5bfc6aa in start_thread (arg=0x7fffed006700) at pthread_create.c:333
#6  0x00007ffff5f19eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffdeb31700 (LWP 20536)):
#0  0x00007ffff5f0e8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff56ddebc in g_main_context_iterate (priority=2147483647, n_fds=3, fds=0x7fffd80010c0, timeout=-1, context=0xbad830)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4103
#2  0x00007ffff56ddebc in g_main_context_iterate (context=0xbad830, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3803
#3  0x00007ffff56de242 in g_main_loop_run (loop=0xbad7c0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4002
#4  0x00007fffe68f0af6 in gdbus_shared_thread_func (user_data=0xbad800) at /build/buildd/glib2.0-2.44.1/./gio/gdbusprivate.c:274
#5  0x00007ffff5704955 in g_thread_proxy (data=0xb6ab70) at /build/buildd/glib2.0-2.44.1/./glib/gthread.c:764
#6  0x00007ffff5bfc6aa in start_thread (arg=0x7fffdeb31700) at pthread_create.c:333
#7  0x00007ffff5f19eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffde330700 (LWP 20537)):
#0  0x00007ffff5f0e8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff56ddebc in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fffd00008c0, timeout=-1, context=0xbb75e0)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4103
#2  0x00007ffff56ddebc in g_main_context_iterate (context=context@entry=0xbb75e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3803
#3  0x00007ffff56ddfcc in g_main_context_iteration (context=0xbb75e0, may_block=may_block@entry=1) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3869
#4  0x00007ffff56de009 in glib_worker_main (data=<optimized out>) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:5618
#5  0x00007ffff5704955 in g_thread_proxy (data=0xb6ade0) at /build/buildd/glib2.0-2.44.1/./glib/gthread.c:764
#6  0x00007ffff5bfc6aa in start_thread (arg=0x7fffde330700) at pthread_create.c:333
#7  0x00007ffff5f19eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffdd32e700 (LWP 20540)):
#0  0x00007ffff5f145a9 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff5722a0a in g_cond_wait_until (cond=cond@entry=0xbb8e28, mutex=mutex@entry=0xbb8e20, end_time=end_time@entry=95698242714)
    at /build/buildd/glib2.0-2.44.1/./glib/gthread-posix.c:1442
#2  0x00007ffff56b2889 in g_async_queue_pop_intern_unlocked (queue=queue@entry=0xbb8e20, wait=wait@entry=1, end_time=end_time@entry=95698242714)
    at /build/buildd/glib2.0-2.44.1/./glib/gasyncqueue.c:422
#3  0x00007ffff56b2eab in g_async_queue_timeout_pop (queue=0xbb8e20, timeout=timeout@entry=15000000) at /build/buildd/glib2.0-2.44.1/./glib/gasyncqueue.c:543
#4  0x00007ffff57053ac in g_thread_pool_thread_proxy () at /build/buildd/glib2.0-2.44.1/./glib/gthreadpool.c:167
#5  0x00007ffff57053ac in g_thread_pool_thread_proxy (data=<optimized out>) at /build/buildd/glib2.0-2.44.1/./glib/gthreadpool.c:364
#6  0x00007ffff5704955 in g_thread_proxy (data=0x7fffd8004450) at /build/buildd/glib2.0-2.44.1/./glib/gthread.c:764
#7  0x00007ffff5bfc6aa in start_thread (arg=0x7fffdd32e700) at pthread_create.c:333
#8  0x00007ffff5f19eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffccefb700 (LWP 20542)):
#0  0x00007ffff5c01da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fffcfa0af43 in  () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#2  0x00007fffcfa0a568 in  () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#3  0x00007ffff5bfc6aa in start_thread (arg=0x7fffccefb700) at pthread_create.c:333
#4  0x00007ffff5f19eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f40780 (LWP 20531)):
#0  0x00000000004b6203 in GLTexture::GLTexture() ()
#1  0x00000000004b75f4 in GLTextureCube::GLTextureCube(QStringList const&, int) ()
#2  0x0000000000416986 in GLWidget::chooseSkyBox(QString, bool) ()
#3  0x00000000004456e4 in MainWindow::MainWindow(QWidget*) ()
#4  0x0000000000412b7e in main ()

log.txt :

[04/08/2015 12:12:06] {Debug}        Starting application:
[04/08/2015 12:12:07] {Debug}        Loading cubemaps folders:
[04/08/2015 12:12:07] {Debug}        Reading the list of available configs settings:
[04/08/2015 12:12:07] {Debug}        Supported GUI styles:  "Breeze, Windows, GTK+, Fusion"
[04/08/2015 12:12:07] {Debug}        Load settings:
[04/08/2015 12:12:07] {Debug}        Calling void MainWindow::loadSettings()  loading from  "config.ini"
[04/08/2015 12:12:07] {Debug}        ATI    RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        NVIDIA RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        Just checking possible error after memory call: GL_ ""  -  mainwindow.cpp : 663
[04/08/2015 12:12:07] {Debug}        Changing 3D settings
[04/08/2015 12:12:07] {Debug}        ATI    RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        NVIDIA RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        Just checking possible error after memory call: GL_ ""  -  mainwindow.cpp : 663
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 2
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 4
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 6
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 8
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 10
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 12
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 14
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 16
[04/08/2015 12:12:07] {Debug}        Material index:   0  Color : QColor(ARGB 1, 0, 0, 0)
[04/08/2015 12:12:07] {Debug}        Material index:   16646655  Color : QColor(ARGB 1, 1, 1, 1)
[04/08/2015 12:12:07] {Debug}        Updating material indices. Total indices count: 2
[04/08/2015 12:12:07] {Debug}        void FBOImageProporties::init(QImage&)
[04/08/2015 12:12:07] {Debug}        FBOImages::creating new FBO( 512 , 512 ) with id= 18
[04/08/2015 12:12:07] {Debug}        ATI    RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        NVIDIA RAM Left= "0" [MB]
[04/08/2015 12:12:07] {Debug}        Just checking possible error after memory call: GL_ "INVALID_ENUM"  -  mainwindow.cpp : 663
[04/08/2015 12:12:07] {Debug}        Loading cubemaps folders:
[04/08/2015 12:12:07] {Debug}        fphath2: "Core/2D/skyboxes"
[04/08/2015 12:12:07] {Debug}        Reading new cube map: ("Core/2D/skyboxes//posx.jpg", "Core/2D/skyboxes//negx.jpg", "Core/2D/skyboxes//posy.jpg", "Core/2D/skyboxes//negy.jpg", "Core/2D/skyboxes//posz.jpg", "Core/2D/skyboxes//negz.jpg")

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, but could you execute the checkOpenGL() before the if statement? Current log file does not show the created version of openGL context.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Well, something was wrong with my source tree, after some cleaning it launchs now but is still complaining about GL3.3, the log.txt says:

 [05/08/2015 12:47:49] {Debug}       Starting application:
[05/08/2015 12:47:49] {Debug}        "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[05/08/2015 12:47:49] {Debug}        Checking OpenGL version...
[05/08/2015 12:47:49] {Debug}        Widget OpenGL: "3.3"
[05/08/2015 12:47:49] {Debug}        Context valid: true
[05/08/2015 12:47:49] {Debug}        OpenGL information:
[05/08/2015 12:47:49] {Debug}        VENDOR: X.Org
[05/08/2015 12:47:49] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI
[05/08/2015 12:47:49] {Debug}        VERSION: 3.3 (Core Profile) Mesa 11.0.0-devel (git-de59a40 2015-08-03 vivid-oibaf-ppa)
[05/08/2015 12:47:49] {Debug}        GLSL VERSION: 3.30
[05/08/2015 12:47:49] {Debug}        Version: 3.3
[05/08/2015 12:47:49] {Debug}        Error: This version of AwesomeBump does not support openGL versions lower than 3.3 :(
[05/08/2015 12:47:49] {Debug}        QOpenGLContext(0x11ea6e0)

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Ok, if I do this ugly patch:

--- a/Sources/main.cpp
+++ b/Sources/main.cpp
@@ -133,7 +133,7 @@ bool checkOpenGL(){

     #ifdef USE_OPENGL_330
         // check openGL version
-        if( version < 3.3 )
+        if( version < 3.2 )
         {
            qDebug() << "Error: This version of AwesomeBump does not support openGL versions lower than 3.3 :(" ;
            return false;

AwesomeBumpGL330 is launching and running, it seems you hit a float issue.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi, thanks for the info, glad it works! I did not expect that AB will able to cooperate with Mesa drivers.
PS: I also noticed that on my old laptop I had to add a similar patch in order to run
AB with GL3.3. The same as you I could not find a "pretty" solution for this kind of problems :/

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

See #47 (diff). 😉

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

OK, this is how AwesomeBumpGL330 looks on my system:

AwesomeBumpGL330

I have loaded a diffuse map but nothing is displayed. I'm a bit lost in the ui, am I missing something or there is a rendring bug?

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Did you tried to play with the light settings? What about the log.txt? This look like you have a very similar problem what @ppiecuch who tries to run AB on his osx system. He also reported me black screen bug.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

The log is full of errors like:

[05/08/2015 13:39:36] {Debug}        OpenGL error "INVALID_ENUM" 500 at glBindTexture(GL_TEXTURE_2D, 0) called from static void FBOImages::create(QGLFramebufferObject*&, int, int, GLuint) in file CommonObjects.h line 346 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_OPERATION" 502 at glDrawElements(GL_TRIANGLES, 3*2, GL_UNSIGNED_INT, 0) called from void GLImage::copyTex2FBO(GLuint, QGLFramebufferObject*) in file glimageeditor.cpp line 2626 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_OPERATION" 502 at glDrawArrays(GL_TRIANGLES, 0, gl_vertices.size()) called from void Mesh::drawMesh(bool) in file utils/Mesh.cpp line 271 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_OPERATION" 502 at glDrawElements(GL_TRIANGLES, 3*2, GL_UNSIGNED_INT, 0) called from void GLImage::copyFBO(QGLFramebufferObject*, QGLFramebufferObject*) in file glimageeditor.cpp line 2606 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_ENUM" 500 at m_env_map->bind() called from virtual void GLWidget::paintGL() in file glwidget.cpp line 586 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_OPERATION" 502 at glDrawArrays(GL_TRIANGLES, 0, gl_vertices.size()) called from void Mesh::drawMesh(bool) in file utils/Mesh.cpp line 267 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_ENUM" 500 at m_prefiltered_env_map->bind() called from virtual void GLWidget::paintGL() in file glwidget.cpp line 696 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_ENUM" 500 at m_env_map->bind() called from virtual void GLWidget::paintGL() in file glwidget.cpp line 700 
[05/08/2015 13:39:40] {Debug}        OpenGL error "INVALID_OPERATION" 502 at glDrawArrays(GL_TRIANGLES, 0, gl_vertices.size()) called from void Mesh::drawMesh(bool) in file utils/Mesh.cpp line 271 

See log.txt.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hmm, I don't know:( Did you tried to run some Qt openGL examples? Do they work for you?

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

For me AwesomeBump segfaults shortly after startup; I have no clue why. If it helps, you can find the log and an xzipped x86_64 coredump at http://ge.tt/7JLefgL2?c.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Did you tried to run some Qt openGL examples?

What's that? I just compiled AwesomeBump the qmake && make way, I probably only have the Qt build requisites on my system…

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Did you tried to run some Qt openGL examples?

Where do I find them?

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

View > Run FPS Test in qglinfo does work if that’s what you’re referring to.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

When you start QtCreator there is a tab with different ready-to-run examples. Search there for openGL key-word and set-up a new project then compile and run. Its easy. I start AB from one of those openGL demos :)
If you have english version of Qt you should have something similar to this:
http://3.bp.blogspot.com/-cx97yr9zqZM/TwbeHjqqZeI/AAAAAAAAAW4/w2jecHZ5IVE/s1600/snapshot1.png

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Hum, it needs to install qtcreator…

qglinfo said me:

QGLFormat::hasOpenGL: true
QGLFormat::hasOpenGLOverlays: false
QGLPixelBuffer::hasOpenGLPbuffers: true
QOpenGLFramebufferObject::hasOpenGLFramebufferObjects: true
QOpenGLFramebufferObject::hasOpenGLFramebufferBlit: true
QGLShaderProgram::hasOpenGLShaderPrograms: true

Can it be related to OpenGLOverlays?

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

On my system the list of examples in QtCreator is completely empty... do I have to install them into QtCreator somehow?

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hmm it may be. According to Qt documentation (from: http://doc.qt.io/qt-5/qglformat.html#setOverlay)
Enabling the overlay plane will cause QGLWidget to create an additional context in an overlay plane. See the QGLWidget documentation for further information.
So this is somehow related to openGL contexts, hard to say I'm on an expert.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I just installed QtCreator from the website and I always had possibility to try provided examples. I tested it on various systems from Windows to Linux (Ubuntu/Mint).

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

They also say:

Overlay is disabled by default.

So it's probably not the issue if it works on Windows, I guess average Windows users just use default Qt build (thus with disabled overlay).

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Turns out I had to install this... strange.

Anyway, all the examples ran without any problems, except for the OpenGL ES one, which crashed due to a bug in the xserver. That bug also occurs with Minecraft and is definitely not related to the segfault in AwesomeBump, otherwise I’d see a certain warning in the output.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Are you sure you don't have some remaining stuff from old builds on your source tree? My segfault above was due to things like that…

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Yes, I did a clean git clone.

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Just built it again. There were definitely no artifacts from older builds, but it still segfaults.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

For me it is like the GL context is not created properly, or some syntax/compiler related problems. I already found that different compilers deal differently with the same peace of code. Maybe the Mesa openGL compiler does not allow some instructions which other drivers understand and process without any problems. For example check this commit: ecbe21a
the previous version did not even compile on my old laptop with ATI GPU...

Some openGL debugging is needed in that case.

from awesomebump.

Calinou avatar Calinou commented on June 23, 2024

Some openGL debugging is needed in that case.

Have you tried apitrace?

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I didn't, but what about @J5lx and @illwieckz ?

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

@kmkolasinski I added the trace at http://ge.tt/7JLefgL2?c... Now it’s your turn to actually use that to investigate further - To me all that info is just some random fuzz.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Which version of apitrace do you use? Could you try the apitrace from the official repository?
The trace file you sent me comes from the newer version apitrace then I've installed from repository and it does not work for me.

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

Well, I did install it from the official repository. If you need a trace for an older version I need to know the exact version of apitrace you need a trace for.

EDIT: I used version 6.1.

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

apitrace just got updated to 7.0 in the official repository so I added a trace for that version as well.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Stupid question: what is the simplest way to check the version of apitrace: command apitrace --version does not work. So maybe I'm using the newer version. I will able to check it in the afternoon.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

@kmkolasinski if you use Ubuntu your apitrace version is 3.0, this is a trace from apitrace 3.0 (but it's pretty old)…

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, so the best way is to build it from the sources. Thank you.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Stupid question: what is the simplest way to check the version of apitrace: command apitrace --version does not work.

I'm running through the same issue, there is nothing about it int apitrace help. :/

I know Ubuntu use 3.0 since it's the version known by the package management system, but it's a pretty old version (2012!) and there is no ppa…

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

This is a trace from apitrace 7.0.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, I will able to check it later in the afternoon.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

In both my two traces I did that:

  1. Run AwesomeBumpGL330
  2. Open a Diffuse texture
  3. Enable Preview
  4. Convert to N H
  5. Click and move with mouse on the left viewer (I see nothing but the mouse cursor change like if I'm doing something)
  6. Click and move with mouse on the right viewer (same)
  7. Quit

from awesomebump.

J5lx avatar J5lx commented on June 23, 2024

For me the easiest way to check the apitrace version is to just check my package database (that’s a pacman -Qi in my case). I guess you’ll have to use dpkg on Ubuntu. Or apt-get. Or apt-cache. Or apt-file. Or apt-mark. Dunno. Now I remember why I love pacman.

EDIT: I just checked the Pacman Rosetta - It’s dpkg -s.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Yes, I used apt-cache to know my apitrace version, it seems apitrace does not say it by itself. :/

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi I managed to build apitrace. I would like to ask you to generate the trace file for the simplest possible run, which is: start the program and close it. I will compare your trace with mine. Could you please send me also your config.ini file.
Did you try to build AB in debug mode?
I'm leaving today on delegation for a week, I will take my laptop with me, but I cann't promise I will have time for this stuff.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

In this simplest case apitrace generate 29 frames.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

simple trace with 29 frames.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Just saying, I've compiled mesa myself to check how AwesomeBump on mesa GL 4.1

Mesa announces GL 4.1:

$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.0.0-devel (git-a97f1b6 2015-08-07 vivid-oibaf-ppa)
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.0-devel (git-a97f1b6 2015-08-07 vivid-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.0-devel (git-a97f1b6 2015-08-07 vivid-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

But AwesomeBump says:

$ cat log.txt
[07/08/2015 23:33:08] {Debug}        Starting application:
[07/08/2015 23:33:08] {Debug}        "Running the AwesomeBump 4.0 Beta (2015)"
[07/08/2015 23:33:08] {Debug}        Checking OpenGL version...
[07/08/2015 23:33:08] {Debug}        Widget OpenGL: "3.0"
[07/08/2015 23:33:08] {Debug}        Context valid: true
[07/08/2015 23:33:08] {Debug}        OpenGL information:
[07/08/2015 23:33:08] {Debug}        VENDOR: X.Org
[07/08/2015 23:33:08] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
[07/08/2015 23:33:08] {Debug}        VERSION: 3.0 Mesa 11.0.0-devel (git-a97f1b6 2015-08-07 vivid-oibaf-ppa)
[07/08/2015 23:33:08] {Debug}        GLSL VERSION: 1.30
[07/08/2015 23:33:08] {Debug}        Version: 3
[07/08/2015 23:33:08] {Debug}        Error: AwesomeBump does not support openGL versions lower than 4.0 :(
[07/08/2015 23:33:08] {Debug}        "Theme tree: (Brise)"
[07/08/2015 23:33:08] {Debug}        QOpenGLContext(0x11a1b30)

So currently only AwesomeBumpGL330 run on Mesa OpenGL 4.1. 😛

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

See #49 for a fix for GL 4.1 checking like the one @J5lx suggested for GL 3.0 checking.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

This an apitrace (7.0) for AwesomeBump for GL 4.1 on Mesa GL 4.1 (same issue, nothing displayed).

Scenario:

  • Open AwesomeBump
  • Close AwesomeBump

49 frames.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hi, unfortunately I will have time after my delegation to take a look on the traces you sent me -- next week monday/thuesday,

@illwieckz What about the compiled version of the Mesa library? It is working for you now?

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

hi @kmkolasinski , thank you for the merge.

With the compiled version of GL 4.1 compatible mesa library, I can load AwesomeBump for GL 4.1 but I have the same problem than AwesomeBump for GL 3.3: there is no render, see the apitrace for AwesomeBump 4.1 above.

Not a problem for the time you need, it's awesmone ( 😛 ) you take care of us, I can wait.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Just for your information, running AwesomeBump for Windows on wine get the exact same issue that AwesomeBump for Linux (GL version is misinterpreted), so, perhaps the "core profile" fix done for Mac & Linux is needed on Windows too. I can't test it I don't own Windows.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, something gone wrong with my ubuntu during my delegation.... Yesterday I accidentally removed my apitrace (which I built from source code) so I tried to compile it again but then I got bunch of errors of type: error: ‘DW_FORM_sec_offset’ undeclared. Could you try to search for me in which file I should find this variable DW_FORM_sec_offset?
I don't understand why it don't want to compile now :/

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024
$ grep -R 'DW_FORM_sec_offset' apitrace/
apitrace/thirdparty/libbacktrace/dwarf.c:    case DW_FORM_sec_offset:

$ sudo apt-get install libdwarf-dev

$ grep DW_FORM_sec_offset /usr/include/dwarf.h 
#define DW_FORM_sec_offset              0x17 /* DWARF4 */

So, perhaps you need to install libdwarf-dev.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Hmm strange, for some reasons the cmake didn't find the /usr/include/dwarf.h (even if I have installed it) file so I just copied it to apitrace folder and now it works. Thanks.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

According to this post, your problem seems to be related to the context creation:
https://software.intel.com/en-us/forums/topic/429896

Maybe we should try to initialize openGL in a different way... or maybe the initialization in the main.cpp is not visible in other classes...

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

This could help: https://wiki.qt.io/How_to_use_OpenGL_Core_Profile_with_Qt

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, current version of AB does not work even on my computer, so it means that during few last commits or pull-requests some bug enter the source....

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

For information, I recompiled Mesa to announce a 4.1 version (just modified the version string, otherwise, mesa announce a 4.1 core profile but a 3.0 version) so I can bypass your version checks and run your linux binaries (both AwesomeBump and AwesomeBumpGL330) and your windows binaries on wine (both AwesomeBump.exe and AwesomeBumpGL330.exe) but I get the same garbage.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I commented one line, and now program works

    QGLFormat glFormat(QGL::SampleBuffers);

#if defined(Q_OS_LINUX) || defined(Q_OS_MAC)
    glFormat.setProfile( QGLFormat::CoreProfile );
    //glFormat.setVersion( GL_MAJOR, GL_MINOR );
#endif

    QGLFormat::setDefaultFormat(glFormat);

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

commenting out this line does not work on my computer. 😕

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Strange: without forcing the version of openGL, my program works (initializing the GL4.4 ) but if I force GL4.0 with glFormat.setVersion( 4, 4); program doesn't work anymore.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

What is the GL version without this line? (from log.txt file)?

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024
[17/08/2015 20:33:16] {Debug}            Widget OpenGL: "4.1"
[17/08/2015 20:33:16] {Debug}            Context valid: true
[17/08/2015 20:33:16] {Debug}            OpenGL information:
[17/08/2015 20:33:16] {Debug}            VENDOR: X.Org
[17/08/2015 20:33:16] {Debug}            RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.6.2)
[17/08/2015 20:33:16] {Debug}            VERSION: 4.1 Mesa 11.0.0-devel (git-d9603be 2015-08-13 vivid-oibaf-ppa)

But the 4.1 VERSION is a version I faked to try the windows builds, I will try with a legacy build (announcing 3.0 version and 4.1 core profile), I just need to recompile mesa.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Ok, I will try other things.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

What if you change: glFormat.setProfile(QGLFormat::CompatibilityProfile);

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

With that:

$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.6.2)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

and that:

$ grep 'glFormat.set' Sources/main.cpp
    glFormat.setProfile( QGLFormat::CoreProfile );
    glFormat.setVersion( GL_MAJOR, GL_MINOR );

I get that:

$head -n 11 Bin/log.txt 
[17/08/2015 20:53:37] {Debug}        Starting application:
[17/08/2015 20:53:37] {Debug}        "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[17/08/2015 20:53:37] {Debug}        Checking OpenGL version...
[17/08/2015 20:53:37] {Debug}        Widget OpenGL: "3.3"
[17/08/2015 20:53:37] {Debug}        Context valid: true
[17/08/2015 20:53:37] {Debug}        OpenGL information:
[17/08/2015 20:53:37] {Debug}        VENDOR: X.Org
[17/08/2015 20:53:37] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.6.2)
[17/08/2015 20:53:37] {Debug}        VERSION: 3.3 (Core Profile) Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 20:53:37] {Debug}        GLSL VERSION: 3.30
[17/08/2015 20:53:37] {Debug}        "Version: 3.3"

I get AwesomeBump launch but no rendering.

With the same glxinfo but with that:

$ grep 'glFormat.set' Sources/main.cpp
     glFormat.setProfile( QGLFormat::CoreProfile );

I get that:

$ head -n 11 Bin/log.txt 
[17/08/2015 20:58:55] {Debug}        Starting application:
[17/08/2015 20:58:55] {Debug}        "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[17/08/2015 20:58:55] {Debug}        Checking OpenGL version...
[17/08/2015 20:58:55] {Debug}        Widget OpenGL: "3.0"
[17/08/2015 20:58:55] {Debug}        Context valid: true
[17/08/2015 20:58:55] {Debug}        OpenGL information:
[17/08/2015 20:58:55] {Debug}        VENDOR: X.Org
[17/08/2015 20:58:55] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.6.2)
[17/08/2015 20:58:55] {Debug}        VERSION: 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 20:58:55] {Debug}        GLSL VERSION: 1.30
[17/08/2015 20:58:55] {Debug}        "Version: 3.0"

And AwesomeBump (for GL 3.3) does not launch.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

What if you change: glFormat.setProfile(QGLFormat::CompatibilityProfile);

will try

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024
head -n 11 Bin/log.txt 
[17/08/2015 21:01:16] {Debug}        Starting application:
[17/08/2015 21:01:16] {Debug}        "Running the AwesomeBump 4.0 Beta (2015) (openGL 330 release)"
[17/08/2015 21:01:16] {Debug}        Checking OpenGL version...
[17/08/2015 21:01:16] {Debug}        Widget OpenGL: "3.0"
[17/08/2015 21:01:16] {Debug}        Context valid: true
[17/08/2015 21:01:16] {Debug}        OpenGL information:
[17/08/2015 21:01:16] {Debug}        VENDOR: X.Org
[17/08/2015 21:01:16] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.6.2)
[17/08/2015 21:01:16] {Debug}        VERSION: 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 21:01:16] {Debug}        GLSL VERSION: 1.30
[17/08/2015 21:01:16] {Debug}        "Version: 3.0"

And AwesomeBump for GL 3.3 (on Mesa core profile 3.3) does not launch (version complain).

I will try now with AwesomeBump for GL 4.1 with a Mesa core profile 4.1.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I have the same output on my intel card on linux. So I have possibility test it now.

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

I think there is no simple solution for this problem: I tested the "boxes" Qt example and it works on my intel but they use default openGL -- (with Mesa this is openGL 3.0) and they load the necessary extensions manually :/

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

So now:

$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

with:

$ grep 'glFormat.set' Sources/main.cpp 
    glFormat.setProfile( QGLFormat::CoreProfile );
    glFormat.setVersion( GL_MAJOR, GL_MINOR );

I get:

$ head -n 11 Bin/log.txt 
[17/08/2015 21:27:53] {Debug}        Starting application:
[17/08/2015 21:27:53] {Debug}        "Running the AwesomeBump 4.0 Beta (2015)"
[17/08/2015 21:27:53] {Debug}        Checking OpenGL version...
[17/08/2015 21:27:53] {Debug}        Widget OpenGL: "4.1"
[17/08/2015 21:27:53] {Debug}        Context valid: true
[17/08/2015 21:27:53] {Debug}        OpenGL information:
[17/08/2015 21:27:53] {Debug}        VENDOR: X.Org
[17/08/2015 21:27:53] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
[17/08/2015 21:27:53] {Debug}        VERSION: 4.1 (Core Profile) Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 21:27:53] {Debug}        GLSL VERSION: 4.10
[17/08/2015 21:27:53] {Debug}        "Version: 4.1"

but no render.

With:

grep 'glFormat.set' Sources/main.cpp
     glFormat.setProfile( QGLFormat::CoreProfile );

I get:

head -n 11 Bin/log.txt [17/08/2015 21:31:14] {Debug}         Starting application:
[17/08/2015 21:31:14] {Debug}        "Running the AwesomeBump 4.0 Beta (2015)"
[17/08/2015 21:31:14] {Debug}        Checking OpenGL version...
[17/08/2015 21:31:14] {Debug}        Widget OpenGL: "3.0"
[17/08/2015 21:31:14] {Debug}        Context valid: true
[17/08/2015 21:31:14] {Debug}        OpenGL information:
[17/08/2015 21:31:14] {Debug}        VENDOR: X.Org
[17/08/2015 21:31:14] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
[17/08/2015 21:31:14] {Debug}        VERSION: 3.0 Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 21:31:14] {Debug}        GLSL VERSION: 1.30
[17/08/2015 21:31:14] {Debug}        "Version: 3.0"

but does not launch.

With:

grep 'glFormat.set' Sources/main.cpp 
    glFormat.setVersion( GL_MAJOR, GL_MINOR );
    glFormat.setProfile(QGLFormat::CompatibilityProfile);

I get:

head -n 11 Bin/log.txt [17/08/2015 21:33:38] {Debug}         Starting application:
[17/08/2015 21:33:38] {Debug}        "Running the AwesomeBump 4.0 Beta (2015)"
[17/08/2015 21:33:38] {Debug}        Checking OpenGL version...
[17/08/2015 21:33:38] {Debug}        Widget OpenGL: "4.1"
[17/08/2015 21:33:38] {Debug}        Context valid: true
[17/08/2015 21:33:38] {Debug}        OpenGL information:
[17/08/2015 21:33:38] {Debug}        VENDOR: X.Org
[17/08/2015 21:33:38] {Debug}        RENDERER: Gallium 0.4 on AMD TAHITI (DRM 2.42.0, LLVM 3.8.0)
[17/08/2015 21:33:38] {Debug}        VERSION: 4.1 (Core Profile) Mesa 11.0.0-devel (git-5af71fb 2015-08-17 vivid-oibaf-ppa)
[17/08/2015 21:33:38] {Debug}        GLSL VERSION: 4.10
[17/08/2015 21:33:38] {Debug}        "Version: 4.1"

it launch but I get no render.

with:

grep 'glFormat.set' Sources/main.cpp
    glFormat.setProfile(QGLFormat::CompatibilityProfile);

I get the same as glFormat.setProfile( QGLFormat::CoreProfile ); only, complains about version, does not launch.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

I think there is no simple solution for this problem: I tested the "boxes" Qt example and it works on my intel but they use default openGL -- (with Mesa this is openGL 3.0) and they load the necessary extensions manually :/

Is it complicated?

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

When you start writing your program from scratch it is not so complicated. But now, when the program is already written I don't know even where to start. If you have enough time you can take a look on the "boxes" example how they are loading extensions manually, everything is in the main.cpp file. I will try it later on AB and we will see if this is a good direction.

from awesomebump.

illwieckz avatar illwieckz commented on June 23, 2024

Hmmm, perhaps I'm missing something, but in boxes' main.cpp I only read a check, not a loading (necessaryExtensionsSupported only does comparisons and returns a bool).

from awesomebump.

kmkolasinski avatar kmkolasinski commented on June 23, 2024

Few lines below they initialize necessary extensions: with line

if (!getGLExtensionFunctions().resolve(widget->context())) {
        QMessageBox::critical(0, "OpenGL features missing",
            "Failed to resolve OpenGL functions required to run this demo.\n"
            "The program will now exit.");
        delete widget;
        return -3;
    }

from awesomebump.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.