Questions about GL2 / renderer2

Hello guys (and girls?),

i am very interested in the (now not so) new gl2 renderer - at least in doing a demonstration map with homebrewed textures, utilising all features available (bump/specular/parallax - are there any more?).
At best i will start doing a 10th aniversary revival of “Chili Quake XXL” (a graphics mod for Q3A).

I did find this documentation https://github.com/ioquake/ioq3/blob/master/opengl2-readme.md
Yet this throws up some questions for me:

  • are there new shader keywords to be used, e.g. for cubemaps or even refraction/reflection effects?
  • what would be the optimal q3map2 settings for such a map, e.g. -keeplights -deluxe and so on?
  • have any limits changed? e.g. texturesize, .md3 verticecount, map specific maximums?
  • are there new supported formats for either models or textures?
  • are realtime shadows currently useable?
  • does r_smp work for multicore machines in ioq3?

Thanks in advance, i hope someone finds the time to answer at least some of the questions.

PS: i am willing to contribute that map to ioq3, if a creative commons license is sufficient for that purpose.

2 Likes

Thanks for dropping by !

I love you initiative, and I really look forward to see the result !

as for your questions :

  • no
  • yes, the deluxe setting is definitely obligatory in order to have the normalmaps behave correctly. For other settings, use you usual final compilation settings, and do a lot of testing :slight_smile: we are lucky to have better computers that 15 years ago, compiling is now quite fast !
  • I think those limits didn’t change. For map objects, there are workarounds to avoid the .md3 format limits, for example using the .ase format (but I don’t know if there are working exporters for blender atm).
  • the .iqm model format is supported, but I recommend using it for interactive models more than map objects. That format has cool features, but ioQ3 lacks some easy interaction functions atm.
  • Realtime shadows : Not really : the only realtime shadows available at the moment are sun shadows.
  • What us r_smp ? I don’t know this command.

Good luck !

1 Like

r_smp use to enable dual core support in the renderer but it was removed from ioq3.

r_smp is a variable for enabling multiprocessor support.
I think the original Idtech3 had it because ID worked on a SiliconGraphics multiprocessor workstation back in the day.
The engine had it’s problems with multicore altough.

Curious thing is, i just tried enabling it for fun and it worked O_O
A very unexpectet result, yet a very welcome one.
I checked in the task manager, and the game uses up to 6 threads of my 6core-12thread cpu.
I dont know if it really brings performance benefits, but yet it’s astonishing :smiley:

And thanks a lot for the answers so far!

If you are using an ioq3 test build, r_smp does not do anything. I’m guessing the r_smp cvar was archived in your config file by an older ioq3 version or vanilla Q3. When loading the config file the r_smp cvar would be created. Run unset r_smp to remove it.

ioq3 does not directly use multi-threading at all. It’s possible some of the libraries ioq3 uses such as SDL 2, OpenGL, OpenAL, or curl do; I’m not sure.