-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Along with OpenGL, support OpenGLES #19
Comments
Bear in mind, this is the first time I've ever touched any opengl stuff, so I'm not familiar with what opengles even is... quick googling makes me think it's a subset of opengl. I am using gtk for all the mouse/keyboard events and for windowing stuff, and for the main game loop, so, without some considerable work, I'm stuck with gtk. For opengl, I'm using gtkglext, which allows using opengl on a GdkDrawable. It's not clear there's any other reasonable way to combine gtk and opengl. It's also not clear to me whether or not gtkglext supports opengles, or whether it requires full opengl. To some extent, it is what it is. What's driving me down this road is performance problems with the software renderer. So... does it work right now for you on raspberry pi? -- steve |
This thread is not encouraging... :( https://mail.gnome.org/archives/gtkglext-list/2012-June/msg00002.html shit And I was hoping this change would make it work better on raspberry pi, not make it quit working altogether. -- steve |
An idea.... It occurs to me that the "Main Screen" is really the only one that needs the opengl accelleration. I could potentially change the code to allow building a limited client which supports all the screens except "Main Screen" and do not require opengl. That way, the Rasp. Pi could at least be used for all those screens, though you'd still need a system with OpenGL support for the main screen. So instead of "snis_client" and "snis_server", you'd have "snis_client", "snis_limited_client", and "snis_server". Better than nothing. I'll try to get that working. |
a Limited client could work. Although I'd still like an all Raspberry Pi setup. |
Ok, just pushed up a change that makes a limited no-opengl client. Let me know if you encounter any issues with it. |
Ok, for now, the limited client has main screen support too. However, this will likely cease to be the case at some point as I make the opengl 3d rendering code better. For now I'm going to close this issue. Feel free to re-open it when it breaks at some point in the future - which is pretty likely. I will try to make sure the other screens besides the main screen continue to work without opengl though. |
Each triangle might be clipped into two for all six planes, resulting in 64 triangles. Fixes this bug: Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". Core was generated by `./snis_limited_client'. Program terminated with signal 11, Segmentation fault. #0 0x3f7ffff0 in ?? () (gdb) bt #0 0x3f7ffff0 in ?? () #1 0x08086409 in clip_triangle (triangles=0xbf8a05e0, vs_out0=0x9221fc0, vs_out1=0x9221908, vs_out2=0x9221840) at entity.c:1535 #2 0x0808357e in software_render_entity_triangles (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80, e=0x9a23df0) at entity.c:509 #3 0x08083c57 in render_entity (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80, e=0x9a23df0) at entity.c:605 #4 0x080852e0 in render_entities (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80) at entity.c:1094 #5 0x08062a74 in show_mainscreen (w=0x8ff2840) at snis_limited_client.c:4910 #6 0x080797f0 in main_da_expose (w=0x8ff2840, event=0xbf8a0ee8, p=0x0) at snis_limited_client.c:10887 #7 0xb73b28a2 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 #8 0xb7188484 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 #9 0xb719a0d9 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 #10 0xb71a1ff5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 #11 0xb71a2453 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 #12 0xb74ec413 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 #13 0xb73b10ff in gtk_main_do_event () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 #14 0xb72082bf in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #15 0xb7208262 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #16 0xb723acd3 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #17 0xb7202dc4 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #18 0xb720504f in gdk_window_process_all_updates () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #19 0xb72050c8 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #20 0xb71dff88 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #21 0xb70c6850 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #22 0xb70c8d86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #23 0xb70c9125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #24 0xb70c956b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0 #25 0xb73afb8f in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 #26 0x0807bf1d in main (argc=1, argv=0xbf8a1364) at snis_limited_client.c:11811 To reproduce the bug (without this commit, obviously) park the ship inside a starbase and let the starbase spin around with the main view up. Usually crashes pretty quickly.
Devices like the Raspberry Pi, Android phones and devices, Beagleboards and other embedded systems do not support full OpenGL. Please add support for OpenGLES for those and other systems.
The text was updated successfully, but these errors were encountered: