Coding Linux essentials - Cross Platform - Open GL
category: code [glöplog]
Here may be the share of the choice of elite in order to code Linux Open GL stuffs with lessest libs and miscs.
For example, is CodeLite a good idea ?
Which Lib to use for Dialogs and Initialize OpenGL ?
Basics of cross-platforming demos.
My project is to port Dead Deer, main, Dead Deer Player to Ubuntu, advices are welcome.
For example, is CodeLite a good idea ?
Which Lib to use for Dialogs and Initialize OpenGL ?
Basics of cross-platforming demos.
My project is to port Dead Deer, main, Dead Deer Player to Ubuntu, advices are welcome.
I've never heard of CodeLite.
Library for dialogs: Qt, Gtk+, possibly WxWidgets (although the latter probably isn't the thing if you want the fewest possible libs).
Library for initializing OpenGL: SDL2. The widget libraries can make OpenGL contexts, too, but for a demo, you want something fullscreen, not inside a widget.
Basics of cross-platform demos: Same as almost any other software.
Library for dialogs: Qt, Gtk+, possibly WxWidgets (although the latter probably isn't the thing if you want the fewest possible libs).
Library for initializing OpenGL: SDL2. The widget libraries can make OpenGL contexts, too, but for a demo, you want something fullscreen, not inside a widget.
Basics of cross-platform demos: Same as almost any other software.
Barti: on a side topic, I have downloaded and tried your tool, but there is one BIG concern I have. How about changing the name? I mean, "dead deer" sounds really creepy. This is what you get if you type it in google search. It might be just me, maybe other people like it, but it's just doesn't look nice in my program list ;)
CodeLite allows wxWidget graphical edition. I've found too, QtCreator to manage windowings.
for fullscreen with wxV, I've found this :
https://forums.wxwidgets.org/viewtopic.php?t=2343
the wxCanvasGL is the name for OpenGL with wxVidget.
I'm using a 4Go persistent USBLive Ubuntu 15.10 on a MacBook Air, and I'm wondering if I have to install more stuffs than CodeLite. I want to use the less shared libs.
for fullscreen with wxV, I've found this :
https://forums.wxwidgets.org/viewtopic.php?t=2343
the wxCanvasGL is the name for OpenGL with wxVidget.
I'm using a 4Go persistent USBLive Ubuntu 15.10 on a MacBook Air, and I'm wondering if I have to install more stuffs than CodeLite. I want to use the less shared libs.
I love wxWidgets. It's great for multiplatform stuff. And you can link it statically if you want. Never tried CodeLite but I use Code::Blocks + wxWidgets for some projects and they compile on Windows and various flavours of linux without the need of changing a line (well, perhaps a #define _IMONLINUX_ or something like that, you know).
As a Qt fanboy, I'd recommend Qt with QtCreator. The IDE is pretty good and Qt works on Win/Lin/Mac (to some extend Android and iOS too) and gives you LOTS of cross-platform stuff including OpenGL (windows, contexts, extension loading, frame-/buffers, shaders, textures etc.). You can use almost all of Qt with the LGPLv3 now. A downside is that the libs can be a bit big.
CodeLite was ugly, buggy and impractical last time I tried it and so was Code::Blocks. Visual Studio with Visual Assist (now Qt Creator is catching up quickly) is still the best IDE imo!
+1 on the "dead deer" name though... ;)
CodeLite was ugly, buggy and impractical last time I tried it and so was Code::Blocks. Visual Studio with Visual Assist (now Qt Creator is catching up quickly) is still the best IDE imo!
+1 on the "dead deer" name though... ;)
I would go for GLFW for portable OpenGL init, and GTK+ for dialogs on Linux (if needed).
I was about to suggest GLFW as well. Clean, lightweight, well documented, and does its job really well.
I've based a cross-platforms lib system that uses even Directx or OpenGL and so, I'm considering Linux at now. Basically, it's easy to think about SDL for cross-platforming, but I make a difference about interfaces from OS. For example, Android code is a set of 3 .java and one .cpp/.h specifically.
Actually, I'm using specific cocoa dialogs/toolbar/menus for OSX, and as it is easy to code with XCode .xib (with code generated context menu from .rc windows), and specific .rc on Windows.
Once interface is set it's simple to upgrade cross-platforming of the core libs.
I've choosen wxWidget and CodeLite for Linux, but it seems that getting a full tutorial with desired stuffs in it, is rare.
I've already used Code::Blocks in the past, but I'm thinking it's not the same field of view I'm considering.
In my core libs desing, I've also a 32/64bits Intel code generator for pseudo-C, and actually a Armv7's one.
As you can try Windows/OSX/Android version of DeadDeer, any suggestion will be welcome.
Actually, I'm using specific cocoa dialogs/toolbar/menus for OSX, and as it is easy to code with XCode .xib (with code generated context menu from .rc windows), and specific .rc on Windows.
Once interface is set it's simple to upgrade cross-platforming of the core libs.
I've choosen wxWidget and CodeLite for Linux, but it seems that getting a full tutorial with desired stuffs in it, is rare.
I've already used Code::Blocks in the past, but I'm thinking it's not the same field of view I'm considering.
In my core libs desing, I've also a 32/64bits Intel code generator for pseudo-C, and actually a Armv7's one.
As you can try Windows/OSX/Android version of DeadDeer, any suggestion will be welcome.
Personally I'd go (and I go) with SDL or SDL2. Also supported by emscripten, if you want to make web version of stuff =)
I was always curious, how was the name Dead Deer came through? Is it an inside joke, is it something else?
I've found quick tutos for those who wanted to know:
https://www.mario-konrad.ch/wiki/doku.php?id=programming:wxwidgets:start
https://www.mario-konrad.ch/wiki/doku.php?id=programming:wxwidgets:start
Basically when including correct files, my NED Player runs fine windowed or fullscreen, with wxWidgets and CodeLite, gcc/g++ compiling the same as OSX that code generation from scripts executes.
But, I'm wondering an important thing : did my wxWidgets installed on USB Live Ubuntu with apt-get is linked to my code SHARED or STATIC ?
If it's SHARED, how can I achieve the work with wxWidgets included stand alone binary ?
But, I'm wondering an important thing : did my wxWidgets installed on USB Live Ubuntu with apt-get is linked to my code SHARED or STATIC ?
If it's SHARED, how can I achieve the work with wxWidgets included stand alone binary ?
in order to create static lib of wxwidget , you have to build from source code .
if i am correct the wiki of wxwifget already explain how to build either static or shared .
if i am correct the wiki of wxwifget already explain how to build either static or shared .
did the static lib of widgets needs another lib like gtk or ?
when I run my soft on a fresh Ubuntu it says "libwx_gtk2u-gl-3.0.so.0" missing.
when I run my soft on a fresh Ubuntu it says "libwx_gtk2u-gl-3.0.so.0" missing.
libwx_gtk2u_gl-3.0.so.0 exactly
is it possible to add this file in the path of the executable ?
is it possible to add this file in the path of the executable ?
also, I've built a static (disable shared) lib for wxwidgets with OpenGL, and I see that not all OpenGL shaders works.
even if I try simple sample of my soft working on a dev machine, it requieres libs like openal and is there a way to make this clean ?
You need to compile wxWidgets yourself in order to create static libraries (remember to enable OpenGL support).
And perhaps you'll need to modify, or hack, wxGLCanvas class. I did it ten years ago while coding my own demotool to make AA works on it.
However, that kind of problems should be fixed now as the code has matured a lot.
And perhaps you'll need to modify, or hack, wxGLCanvas class. I did it ten years ago while coding my own demotool to make AA works on it.
However, that kind of problems should be fixed now as the code has matured a lot.
And for multiplatform sound, there are some simple solutions like portaudio.
Guess what ?
Ok, so actually I have this to do to run my EXE on Ubuntu :
wxwidgets:
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.2/ubuntu/ wily universe'
sudo apt-get update
sudo apt-get install libwxbase3.0-dev
sudo apt-get install libwxgtk3.0-dev
sudo apt-get install wx3.0-headers
sudo apt-get install wx-common
openal:
sudo apt-get install libopenal-dev libalut-dev
wxwidgets:
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.2/ubuntu/ wily universe'
sudo apt-get update
sudo apt-get install libwxbase3.0-dev
sudo apt-get install libwxgtk3.0-dev
sudo apt-get install wx3.0-headers
sudo apt-get install wx-common
openal:
sudo apt-get install libopenal-dev libalut-dev
can this be simplificated ?
can it be resolved like that ?
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.2/ubuntu/ wily universe'
sudo apt-get update
sudo apt-get install libwxbase3.0
sudo apt-get install libwxgtk3.0
sudo apt-get install wx-common
openal:
sudo apt-get install libopenal
I'm a beginner on Linux...
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.2/ubuntu/ wily universe'
sudo apt-get update
sudo apt-get install libwxbase3.0
sudo apt-get install libwxgtk3.0
sudo apt-get install wx-common
openal:
sudo apt-get install libopenal
I'm a beginner on Linux...
I do not use "alut"