[quake3-bugzilla] [Bug 4358] Assorted renderer changes patch (VBO, GLSL, "modern" techniques etc.)
bugzilla-daemon at icculus.org
bugzilla-daemon at icculus.org
Sat Mar 10 14:38:59 EST 2012
https://bugzilla.icculus.org/show_bug.cgi?id=4358
q3urt.undead at gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |q3urt.undead at gmail.com
--- Comment #66 from q3urt.undead at gmail.com 2012-03-10 14:38:54 EST ---
Hi James,
I think there is a problem with this patch and RAVENMD4. OA 0.8.8 defines
RAVENMD4 so when you use this patch, it gives warnings/errors about data type
mismatches.
I merged OpenArena 0.8.8 client/server with r2224 of ioquake3 and split the OA
changes off into a separate renderer. I made a branch of that which includes
your opengl2 renderer. Do you have any interest in helping get this working in
OA? I think there is interest in the OA community with having another
renderer. In the end, this will probably result in a third renderer which is a
merge of yours and the OA since it has features not found in yours.
Thanks for your patch as it applies cleanly against r2224. I made a few
changes though that I think upstream may want to consider. One of the problems
with the modular renderer is that the files all reference common headers like
tr_local.h. In practice, each renderer will have its own tr_local.h. It's
difficult to reuse the common *.c files when they all reference their own
tr_local.h
I noticed you made a copy of all the files except for the tr_image_*.c files
which you modified to remove the tr_local.h references. I ran into the same
thing with the OA renderer which changes even less files. Unless I modify the
code/renderer files, I have to dump them into code/renderer_oa even though OA
doesn't modify them.
The way I fixed this was to introduce a tr_config.h in each renderer and to
modify all of the renderer files to use TR_CONFIG_H and TR_LOCAL_H etc. It's
then passed in as a compiler option in the Makefile to define TR_CONFIG_H to be
the correct location which in turn defines all of the other TR_*_H locations.
As you can see from the OA renderer which touches less files, there are only a
handful of files needed in the code/renderer_oa directory. I was able to
remove a few files from your code/renderergl2 as well: tr_font.c, tr_image_*.c,
tr_noise.c and tr_shadows.c. Long term, I think this will be a lot easier to
maintain renderers. After I made those changes, your patch only touches
Makefile, q_math.c and code/renderergl2/*.
The changes are at:
https://github.com/undeadzy/openarena_engine
and the branch is called opengl2_renderer.
--
Configure bugmail: https://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the quake3-bugzilla
mailing list