OpenGL not supported by video driver - java

I installed libGDX and wrote a simple code to display a window. But when I run it, I get an exception that says : OpenGL is not supported by video driver. Then I installed GLEW (OPENGL EXTENSION WRANGLER LIBRARY). Then I went to the installation folder, unzipped the contents to a new folder, went to the new folder, clicked on bin, release, win32, and finally glewinfo. It opened a notepad file that showed me that name of my video card and said that it supported OpenGL 2.1. But in eclipse (mars) and libgdx (gdx-setup tool) i cant get my program to run even if i set config.useGL30 = false. Pleaee help!

There is a difference between OpenGL ES and OpenGL.
OpenGL is the desktop version.
OpenGL ES is the mobile version.
libGDX uses OpenGL ES since it runs on mobile and desktop.
To run OpenGL ES 2.0 you need OpenGL 4.1 on a desktop.
To run OpenGL ES 3.0 you need OpenGL 4.3 on a desktop.
EDIT according to derhass
Note that this are only the specifications and actual implementations can provide full support for OpenGL ES 2.0/3.0 prior to these versions.
But this seems not to be the case for your setup.

Related

Rendering Java Android OpenGL ES on Windows

Background :
I'm currently making an Android Native game only using Java and OpenGL ES 3.0 and I wanted to make a simple Game Engine without copying my full Java project in C++ so I could have the same project on my Windows PC.
I would like to use some of my existing Java files my Android Studio Project is using, and to run them on a different window context on my PC. I would certainly make some separate Classes to set a OpenGL window and to have a main function.
My questions are :
What API should I use to create an OpenGL context in Java?
Will the included libraries in my Android Project Files (like android.opengl.GLES30) be found if I used a different IDE (like IntelliJ)?

OpenGL - OS X using GL11

I was developing a game in Java & OpenGL on Windows and yesterday I got a new Macbook Pro.
When I moved my code from the Windows machine to the OS X machine I got an error that said couldn't compile shaders. I read on the internet that it's because in OS X you have to turn ProfileCore to true which is only supported in OpenGL 3.2 + . Here is my problem: For my GUI and my Text I use GL10 functions and I use the Slick2D library. When-ever I set my OpenGL version to be 3.2 with core profile the game runs fine but I get an error on Slick2D code.
I wanted to know if there was a way to run OpenGL with core profile but not 3.2
Is there a library for text like Slick2D that supports OpenGL 3.2 or will I have to create my own support of texture atlases and stuff for the text.
I do not have enough reputation to comment, so I must write this as an answer.
The core profile is a configuration in OSX which sets the used OpenGL version.
https:// developer.apple.com/graphicsimaging/opengl/capabilities/
Slick2D should support lower OpenGL Versions. I have used it with OpenGL version 2.1 on Linux and Windows. My Application also ran in OSX.
Try out core profile version 2.1. This is the version that was most compatible to PCs (and Macs) in my testing.
I do not fully understand your second question. Are you looking for an alternative engine?
I can recommend libGDX for cross-platform game development with Java. (http://libgdx.badlogicgames.com/)
If you are open to non-Java Game Engines, you can use Unity3D of course. (http://unity3d.com/)

Using libGdx desktop port as emulator of Android GLES20

My Android OpenGL-ES 2.0 project don't even run on Android emulator (GPU host) or virtual machines (Androidx86.iso + VirtualBox), but no problem with physical android devices.
so, can i use libGdx desktop port for emulation of Android GLES20 without integrating other libGdx stuff in my android project?
if yes, then how to load shaders from android's RAW folder without libGdx framework?!
beside libGdx, i find a working wrapper
but if i have to maintain a wrapper by myself, then NDK+GLUT isn't faster option?
You can do something like that. It is what libgdx wiki says:
Clearly there's no OpenGL ES implementation on the desktop useable via
Java. Well, there is now. Libgdx emulates OpenGL ES via the standard
OpenGL API on Windows and Linux. Nearly all features are supported
such as fixed point math and so on. The only feature missing at the
moment is support for fixed point vertex buffer objects and some minor
getter methods.
Here is tutorial how you can use libgdx with lwjgl backend.
Here is how shader programs are initialized.
You can see from the link above how shaders are loaded from resources.
Here is what ShaderProgram does under the hood.
You can see what it calls some functions of gl object which contains methods emulating opengl es 2.0.

Error when launching Java app on desktop using LibGdx/Eclipse

I'm using LibGdx to develop a Java-based game. I haven't decided whether I want the game to be deployed on Android or PC, so I figured I can at least develop+test on desktop and then decide. I've used LibGdx before and it worked fine.. but that must been before I did a complete system wipe (as I like to do a few times per year).
Anyhow, when I try to launch the game in Eclipse as "Java Application" I get the following errors:
-Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: OpenGL is not supported by the video driver.
-Caused by: org.lwjgl.LWJGLException: Pixel format not accelerated
Clearly this is caused by my GPU.. so I installed the latest drivers for my (integrated) video chip, but no dice. Anyone know anything about the "Pixel format" part of this? I haven't really done anything code-wise yet, I just have a blank application that I'm trying to get to display on my PC.
Give the Jogl backend a try. Double check your drivers. What GPU do you have?

Jet creator music - EAS synth.dll

I am trying to use the JET music player in Android to create music for my game. I am having trouble installing the eas synth plugin for Sonar 7 which I will use to edit the midi tracks.
I am using this guide to get everything installed so that I can edit my music.
The problem is at point 3.1 Installing the EAS Synth Plugin I am supposed to install EAS synth.dll into the Sonar vst plugin folder.
Where can i find the EAS synth.dll file? It is definitely not included in the SDK! I found a file called EADDLL.dll in the \tools\Jet\JetCreator directory, but Sonar does not recognize it as a plugin.
I think JET and JET creator is ridiculously pour documented by google! Any help regarding JET creator would be appreciated! I'm hoping for some smart guy here who has successfully used jet creator.
I had this problem as well. Very frustrating. The problem is that the included EASDLL.dll file is not actually a VST plugin. I wrote the a VST plugin that does the job and have published it here:
http://www.evanmallory.com/eas_vst/
Give it a try. I hope it will help you out.
*.dll files are for Windows only, the Linux equivalent is *.so, but the JET libraries area already installed on an Android device so you don't need to worry about it. As for Google's documentation, that link is not a Google page, here is the Google Documentation. Here is what it says:
Playing JET content The Android
platform includes a JET engine that
lets you add interactive playback of
JET audio content in your
applications. You can create JET
content for interactive playback using
the JetCreator authoring application
that ships with the SDK. To play and
manage JET content from your
application, use the JetPlayer class.
For a description of JET concepts and
instructions on how to use the
JetCreator authoring tool, see the
JetCreator User Manual. The tool is
available fully-featured on the OS X
and Windows platforms and the Linux
version supports all the content
creation features, but not the
auditioning of the imported assets.
Here's an example of how to set up JET
playback from a .jet file stored on
the SD card:
JetPlayer myJet = JetPlayer.getJetPlayer();
myJet.loadJetFile("/sdcard/level1.jet");
byte segmentId = 0;
// queue segment 5, repeat once, use General MIDI, transpose by -1 octave
myJet.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
// queue segment 2
myJet.queueJetSegment(2, -1, 0, 0, 0, segmentId++);
myJet.play();
The SDK includes an example
application — JetBoy — that shows how
to use JetPlayer to create an
interactive music soundtrack in your
game. It also illustrates how to use
JET events to synchronize music and
game logic. The application is located
at
/platforms/android-1.5/samples/JetBoy.
I guess my question was a bit unclear...
I am trying to edit music on my computer using the music editing program Sonar 7. The music will be used in my game... In order to make the midi files compatible with android devices and JET Creator i need to use the EAS synth plugin for Sonar 7. The problem is that i cant find the "EAS Synth.dll" wich is needed for this. And yes, I have read trough all the documentation wich you are referring to :)
The plugin is described under section 3.1 in the guidelines:
http://www.netmite.com/android/mydroid/1.6/external/sonivox/docs/JET_Authoring_Guidelines.html

Categories