View previous topic :: View next topic |
Author |
Message |
lindquist
Joined: 14 Sep 2006 Posts: 55 Location: Copenhagen, Denmark
|
Posted: Sun Jan 14, 2007 8:10 am Post subject: demo in svn does not work! |
|
|
Hi, grabbed Yage from svn trunk and I only get a white screen
http://www.famolsen.dk/d/yage/white_yage.jpg
I have a Geforce 6600 GT on WinXP x64
Any ideas?
P.S. I have not really spent time figuring anything out myself, and would rather know if this is some sort of "known issue" first! |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun Jan 14, 2007 2:02 pm Post subject: |
|
|
I've tested Yage in the last couple months on WinXP-32 with a radeon x600, geforce fx5900, and some crapware-intel board, but never on WinXP-64 (nor do I currently have any 64-bit machines). If you could paste the console output it may help. Have you had trouble with any other sdl+opengl powered applications? |
|
Back to top |
|
|
lindquist
Joined: 14 Sep 2006 Posts: 55 Location: Copenhagen, Denmark
|
Posted: Sun Jan 14, 2007 2:15 pm Post subject: |
|
|
I have never had problems with SDL and OpenGL, and I have used them fairly extensively before.
Console output:
Code: |
GL_ARB_shader_objects support enabled.
GL_ARB_vertex_buffer_object support enabled.
Yage has been initialized.
Loading sound '../res/\music/celery - pages.ogg'.
Loading material '../res/\fx/flare1.xml'.
Loading image '../res/\fx/flare1.png'.
Uploading image '../res/\fx/flare1.png' to video memory.
Loading Milkshape 3D model '../res/\space/fighter.ms3d'.
Loading material '../res/\space/fighter.xml '.
Loading shader '../res/shader\diffuse.vert'.
Compiling shader '../res/shader\diffuse.vert'.
Loading shader '../res/shader\diffuse-hdr.frag'.
Compiling shader '../res/shader\diffuse-hdr.frag'.
Loading image '../res/\space/fighter.jpg'.
Uploading image '../res/\space/fighter.jpg' to video memory.
Linking shader ../res/shader\diffuse.vert
Linking shader ../res/shader\diffuse-hdr.frag
Finished link
Model loaded in 0.481701seconds
Loading material '../res/\fx/smoke.xml'.
Loading image '../res/\fx/smoke.png'.
Uploading image '../res/\fx/smoke.png' to video memory.
Loading sound '../res2/\sound/ship_eng.ogg'.
Loading Milkshape 3D model '../res/\space/asteroid1.ms3d'.
Loading material '../res/\space/asteroid1.xml '.
Loading shader '../res/\space/../shader/diffuse.vert'.
Compiling shader '../res/\space/../shader/diffuse.vert'.
Loading shader '../res/\space/../shader/diffuse-hdr.frag'.
Compiling shader '../res/\space/../shader/diffuse-hdr.frag'.
Loading image '../res/\space/asteroid1.jpg'.
Uploading image '../res/\space/asteroid1.jpg' to video memory.
Linking shader ../res/\space/../shader/diffuse.vert
Linking shader ../res/\space/../shader/diffuse-hdr.frag
Finished link
Model loaded in 0.408788seconds
Loading material '../res/\fx/smoke.xml'.
Beginning rendering loop
|
seems ok. I'll try to fiddle around and see if I can find anything... |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun Jan 14, 2007 2:56 pm Post subject: |
|
|
Cameras render everything to the main output buffer, and then is copied to a texture via glCopyTexImage2D. I hope to add support for pbuffers or fbo's in the future, but this guarantees the most compatibility for now. This all occurs in camera.toTexture();
After that, Device.render() draws that texture to a full-screen quad. You may try changing Device.render() to
Code: | /// Draw the current material to the screen.
static void render()
{ SDL_GL_SwapBuffers();
} |
This will disable the drawing of that quad and just render whatever the camera renders in the first pass.
Looging at the output you posted reminds me that I really need to get my /'s and \'s straightened out. |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Fri Jan 19, 2007 12:18 am Post subject: |
|
|
I have the same problem with the demo as lindquest. My card is a GeForce 7900 GT in WinXP x32. I haven't tried your test fix yet since I'm not using Phobos.
Nonetheless, thanks for getting this into svn, Eric.
-JJR |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Fri Jan 19, 2007 8:36 pm Post subject: |
|
|
This is frustrating since I haven't been able to reproduce the problem on any of the computers I've tried it on. I'll have to borrow some friends' pc's and setup a build environment to try this out some more. It may be a bit.
Last edited by JoeCoder on Sat Jan 20, 2007 7:12 am; edited 1 time in total |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Fri Jan 19, 2007 10:22 pm Post subject: |
|
|
Do you need more details about our setup environment?
Here's a little bit more:
Latest Nvidia drivers
AMD64x2 3800+
2 GB Ram
Windows XP MCE is up to date
-JJR |
|
Back to top |
|
|
lindquist
Joined: 14 Sep 2006 Posts: 55 Location: Copenhagen, Denmark
|
Posted: Sat Jan 20, 2007 8:53 am Post subject: |
|
|
I tried your fix. This turned the screen black, but otherwise does not fix anything.
I have the same CPU as JJR. Athlon64 X2 3800+
I have been looking around some and I'll try to narrow it down. I'm just a little busy lately.. |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Wed Feb 07, 2007 12:25 am Post subject: |
|
|
Oh, what a surpise? I updated from svn and tried the win32 demo....
and it works! Quite spectacular looking too!
Nice work, Eric.
There is a periodic stutter ever 10 seconds or so... not sure if that's due to background programs on windows that are running or the gc.
Otherwise, smooth as silk. |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Wed Feb 07, 2007 10:25 am Post subject: |
|
|
Thanks and glad you liked it. Not sure what I've changed that made it work. I wonder if it's possible that it was just some of my improvements to the flight dynamics of the ship? The glaring white star is at the origin and perhaps some funky math was just leaving the camera there. Dunno.
As for the stutter, that's been driving me nuts for about 6 months. I created a demo with enough rendering to slow it down to 1 fps, and then asked yage.core.timer to printout how long each frame took to render. I could see visually that they were all taking very close to 1 second, and the timer said the same most of the time. However, every so often it would report about .1 seconds for one frame and then 1.9 seconds for the next, even though it was clear visually that both of those frames took 1 second.
I then replaced the rendering code with a large for-loop that also took 1 second, and the timing errors disappeared. The gc was disabled through all of this, so my guess is that time spent inside of opengl functions messes with the timer. I'm currently using std.perf which uses HighPerformanceCounter. I also tried sdl's timer and got the same results. I'm clueless as to how to solve this one, but it's something that will need to be fixed eventually.
BTW my changelog is currently here. Perhaps I'll eventually write a scraper for it and add it to the main and download pages of the yage site. |
|
Back to top |
|
|
|