[Patch] Rendering of FreeBasic graphic on OpenGL
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Hmmm.... so, the texture quad is drawn, but for some reason it is black.
Perhaps, before the flip, try putting the command "glColor4f(1, 1, 1, 1)"
Perhaps, before the flip, try putting the command "glColor4f(1, 1, 1, 1)"
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Also black screen.
I decided to alter the gfx_opengl.c file to add some more printf's so I could see exactly what it is actually doing. Here is the result:
That result is with this code:
I don't know if that is helpful at all or not.
I decided to alter the gfx_opengl.c file to add some more printf's so I could see exactly what it is actually doing. Here is the result:
Code: Select all
fb_hGL_Init
fb_hGL_ExtensionSupported
fb_hGL_ExtensionSupported
fb_hGL_NormalizeParameters
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetPalette
fb_hGL_SetupProjection
fb_hGL_SetPalette
fb_hGL_SetupProjection
Code: Select all
screenres 640,480,8,, &h02
screencontrol 150,1
for i as integer=1 to 200
?"hello world";
next
flip
sleep 1000
palette 15,255,0,0
flip
sleep 1000
end
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Is "fb_hGL_ScreenCreate" ever executed?
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Nope. I added a print out to each and every function inside the gfx_opengl.c file.
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Something is wrong, since that routine is supposed to create the texture. In the subdirectory win32 there is the file gfx_driver_opengl.c.
In the function driver_init, toward the end, you should locate the lines:
Put a "printf" just before it, to show the value of __fb_gl_params.mode_2d, and to see if that part of code is executed or not
In the function driver_init, toward the end, you should locate the lines:
Code: Select all
if (__fb_gl_params.mode_2d!=0)
fb_hGL_ScreenCreate();
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
It is 0 and no, fb_hGL_ScreenCreate in not called.
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
It is supposed to be a 1. Wait... in your test, you put ScreenControl after ScreenRes, you should put it BEFORE.
(ScreenControl is also used to set which driver will be used, so it has to be used before setting the graphic mode)
(ScreenControl is also used to set which driver will be used, so it has to be used before setting the graphic mode)
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Okay. So that time it was 1. and the ScreenCreateFunction did run.
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Weird.... what happens if you force it to be called, by removing the "if", replacing :
with
Code: Select all
if (__fb_gl_params.mode_2d!=0)
fb_hGL_ScreenCreate();
Code: Select all
/*if (__fb_gl_params.mode_2d!=0)*/
fb_hGL_ScreenCreate();
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Already tried that. Still black screen.
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
In ScreenCreate, can you print the variable "id"? Place the print before the switch instruction
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
id = 1
Also, would it be better if we took this off-forum so we are not blowing up this thread with it? I seem to be in the minority of people who can't use it.
Also, would it be better if we took this off-forum so we are not blowing up this thread with it? I seem to be in the minority of people who can't use it.
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
I sent you a mail
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
I found the issue, and I uploaded the updated files
Re: [Patch] Rendering of FreeBasic graphic on OpenGL
Okay, so I have a question:
Should this have defines or enums for the two OpenGL 2D mode options? As it stands it is the only screencontrol command with parameters whose meaning is not immediately obvious.
I don't feel like leaving them as 1 and 2 is very intuitive.
Should this have defines or enums for the two OpenGL 2D mode options? As it stands it is the only screencontrol command with parameters whose meaning is not immediately obvious.
I don't feel like leaving them as 1 and 2 is very intuitive.