Q3 symbol list, call for participation

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

MDave
Posts: 82
Joined: Mon May 09, 2005 10:43 pm

Post by MDave »

Q3 sdl anyone? ;)

Here's a link that may come in handy:

http://www.quakesrc.org/forums/viewtopic.php?t=5457
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

McZonk: if you care about glReadPixels() and glDrawPixels(), I'll take the texture and vertex array code (the latter is not really required, I believe you can switch it off by command line and use glVertex3f() as fallback - for testing).
Last edited by holger on Thu Aug 25, 2005 5:41 pm, edited 1 time in total.
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

[quote="MDave"]Q3 sdl anyone? ;)

Here's a link that may come in handy:

http://www.quakesrc.org/forums/viewtopic.php?t=5457 [/quote]


SDL is quite fat and consumes a lot of memory, not really something we have to waste on the PSP. Nevertheless, some people like it, but I'd prefer the GLUT code we have, this is much more lightweight and provides the same (or more?) portability.

One Question: How to make these quoted texts looking right?
Last edited by holger on Fri Aug 26, 2005 10:57 am, edited 1 time in total.
McZonk
Posts: 35
Joined: Thu Jul 14, 2005 10:42 pm
Location: Germany
Contact:

Post by McZonk »

Okey, I'll will code this to functions and send the code to you. How can I contact you? Write pm please.
Arwin
Posts: 426
Joined: Tue Jul 12, 2005 7:00 pm

Post by Arwin »

holger wrote:One Question: How to make these quoted texts looking right?
Make sure you don't delete [ / quote ] ... the quoted section needs to be started with [ quote = " name " ] and closed with [ / quote ]

(but obviously without the extra spaces I added)
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

it's in there, see the message above. I'm too stupid for this web... at least the forums -
Arwin
Posts: 426
Joined: Tue Jul 12, 2005 7:00 pm

Post by Arwin »

holger wrote:it's in there, see the message above. I'm too stupid for this web... at least the forums -
Sorry, I didn't pay attention - yes, it's in there, but it's adjacent to a website address, and so the forum software interprets it as part of the website address rather than a close quote tag. Just add a space after the webpage address next time. (or even better try it now using edit)
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

done, see above. Still does not looks as expected.
Arwin
Posts: 426
Joined: Tue Jul 12, 2005 7:00 pm

Post by Arwin »

Well, when I quote your email and then remove my quote section, it works just fine. I'm not sure now what's causing it. Maybe it's a one-time fluke or you have discovered a bug in the Forum software. I'll leave it be for now, because this is getting a little off-topic.
MDave wrote:Q3 sdl anyone? ;)

Here's a link that may come in handy:

http://www.quakesrc.org/forums/viewtopic.php?t=5457

SDL is quite fat and consumes a lot of memory, not really something we have to waste on the PSP. Nevertheless, some people like it, but I'd prefer the GLUT code we have, this is much more lightweight and provides the same (or more?) portability.

One Question: How to make these quoted texts looking right?
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

Anyone not attempting to port Q3 should look into SDL as it's full of portable goodness. SDL linked programs can be as little as 250k. Although I would tend to agree that Q3 will need that 250k... plus the Q3 SDL port is incomplete (no joystick for instance).
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

rinco wrote:Anyone not attempting to port Q3 should look into SDL as it's full of portable goodness. SDL linked programs can be as little as 250k. Although I would tend to agree that Q3 will need that 250k... plus the Q3 SDL port is incomplete (no joystick for instance).
that's a factor of more than 4 compared to psp-egl and psp-glut (including the GL implementation, is this also part of a basic SDL linked binary?):

$ psp-size test-egl/pspGL-cube
text data bss dec hex filename
46444 9816 16604 72864 11ca0 test-egl/pspGL-cube

$ psp-size test-glut/glut-simple
text data bss dec hex filename
44696 828 16672 62196 f2f4 test-glut/glut-simple

... and psp-glut supports joystick ... ;-)

On your desktop you can already run Q3/glut, just type

$ make ARCH=""

on the command line and then execute the resulting Quake3 binary, it currently uses a hardcoded resolution of 480x272 for testing.
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

update:

`closedir'
`glArrayElement'
`glBindTexture'
`glCallList'
`glClipPlane'
`glDeleteTextures'
`glDrawBuffer'
`glReadPixels'
`glTexSubImage2D'
`opendir'
`readdir'

opendir/closedir/readdir() are now part of newlib, but with an leading underline in the function name. Does anybody knows, why? The include file still seems to be missing.

glBindTexture/glDeleteTextures are part of Jeremy's texture object patch, but this one is not yet incorporated. glArrayElement() is part of the array-element patch.

glClipPlane() does not seems possible on the PSP (can you somehow create user-defined clip planes?), but it seems an optimization in Q3, should work without, too. glCallList() does not makes much sense without generating a list, this symbol seems to be a left-over from some dead code. Need to check this in detail.

glDrawBuffer() can be implemented, but we should check before whether we really need it, I did not investigated yet this part of the code.

McZonk: What's the status about glReadPixels()? Did you made some progress?
Krevnik
Posts: 71
Joined: Wed Mar 09, 2005 12:07 pm

Post by Krevnik »

holger wrote: opendir/closedir/readdir() are now part of newlib, but with an leading underline in the function name. Does anybody knows, why? The include file still seems to be missing.
Newlib thins out the C library to make it lightweight, and to get people to write the back-end for their particular embedded system. opendir() is really a stub in newlib mapping to _opendir() which is expected to be implemented by the devs using newlib on a particular platform. Why the include file is missing, I have no idea.
glClipPlane() does not seems possible on the PSP (can you somehow create user-defined clip planes?), but it seems an optimization in Q3, should work without, too. glCallList() does not makes much sense without generating a list, this symbol seems to be a left-over from some dead code. Need to check this in detail.
Parts of OpenGL are designed to be implemented in software, clip planes are one of them IIRC, because not all chipsets support clip planes.
crazyc
Posts: 408
Joined: Fri Jun 17, 2005 10:13 am

Post by crazyc »

Krevnik wrote:
holger wrote: opendir/closedir/readdir() are now part of newlib, but with an leading underline in the function name. Does anybody knows, why? The include file still seems to be missing.
Newlib thins out the C library to make it lightweight, and to get people to write the back-end for their particular embedded system. opendir() is really a stub in newlib mapping to _opendir() which is expected to be implemented by the devs using newlib on a particular platform. Why the include file is missing, I have no idea.
As you can see here newlib's opendir is unusable and their dirent.h is generic.
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

Krevnik wrote:
holger wrote: glClipPlane() does not seems possible on the PSP (can you somehow create user-defined clip planes?), but it seems an optimization in Q3, should work without, too. glCallList() does not makes much sense without generating a list, this symbol seems to be a left-over from some dead code. Need to check this in detail.
Parts of OpenGL are designed to be implemented in software, clip planes are one of them IIRC, because not all chipsets support clip planes.
mmh... we could do this on-the-fly when doing vertex format conversion, but the test is not really a cheap one... especially when multiple clip planes are enabled. Maybe that's a point where using the VFPU really makes sense. For Q3 I'm still not sure whether this is worth the additional efforts, just to cull away a few more vertices when looking through a portal.
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

holger wrote:opendir/closedir/readdir() are now part of newlib, but with an leading underline in the function name. Does anybody knows, why? The include file still seems to be missing.
Yeah, that'd be my unfinished business... I tested _opendir, _closedir and _readdir with a locally modified dirent.h and they seem to work as expected. I was hoping to just drop the dirent.h into a newlib psp architecture, but was quickly stumped by the way newlib is built (gloss..?).

I suspect crazyc or mrbrown will know the correct way to implement dirent.h. I don't think I'll figure it out anytime soon.
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

Can you post your dirent.h somewhere?
jsgf
Posts: 254
Joined: Tue Jul 12, 2005 11:02 am
Contact:

Post by jsgf »

holger wrote:
Krevnik wrote:
holger wrote: glClipPlane() does not seems possible on the PSP (can you somehow create user-defined clip planes?), but it seems an optimization in Q3, should work without, too. glCallList() does not makes much sense without generating a list, this symbol seems to be a left-over from some dead code. Need to check this in detail.
Parts of OpenGL are designed to be implemented in software, clip planes are one of them IIRC, because not all chipsets support clip planes.
mmh... we could do this on-the-fly when doing vertex format conversion, but the test is not really a cheap one...
I don't think so, unfortunately, Well, my model for doing vertex format conversion is that its a one-off process, which is transform independent. If we have user clip planes then I think we'd need to implement a software transform pipeline, which is a big chunk of extra complexity. I think it can be done efficiently with the VFPU, but it is just a whole pile of extra code and state.
holger
Posts: 204
Joined: Thu Aug 18, 2005 10:57 am

Post by holger »

jsgf wrote:I don't think so, unfortunately, Well, my model for doing vertex format conversion is that its a one-off process, which is transform independent. If we have user clip planes then I think we'd need to implement a software transform pipeline, which is a big chunk of extra complexity. I think it can be done efficiently with the VFPU, but it is just a whole pile of extra code and state.
The clip test can be done in modelview space, no need to transform every vertex. Nevertheless it's not for free, I'd like to avoid it - unless we really would need it for some reason.
McZonk
Posts: 35
Joined: Thu Jul 14, 2005 10:42 pm
Location: Germany
Contact:

Post by McZonk »

Sorry, last days I had a lot of stress.

Here is the first implementation of glReadPixels.c.
I don't know about getting the pointer to the framebuffer, depthbuffer and stencilbuffer with OpenGL. So someone has to fix it. The version compiles but it is untestet.

This version is only for quake 3. No dependencies to pixelformat are made and only the parameters used by quake 3 are supported.
dlists99
Posts: 3
Joined: Wed Aug 03, 2005 8:12 am

Post by dlists99 »

ya I'd love to see that dirent.h myself too. for unrelated projects.
Post Reply