JACoders / OpenJK

Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software
GNU General Public License v2.0
2.02k stars 614 forks source link

Restructure Renderer #323

Open eezstreet opened 11 years ago

eezstreet commented 11 years ago

Renderers really need sp/mp cross compatibility. Also Ghoul 2 should really be dealt with seperately from the renderer, similar to how you're able to replace PNG library etc. with a higher or lower version. The current setup is way too problematic.

xycaleth commented 11 years ago

I'm still of the opinion that Ghoul2 should stay in the renderer - at least the parts that deal with rendering (including animations, skin selection, etc). The ragdoll and collision code should be moved out from the renderer.

eezstreet commented 11 years ago

Correct, this is my feeling as well. Loading/physics/ragdoll etc should be done outside of the renderer.

Sent from my Windows Phone


From: Alex Lomailto:notifications@github.com Sent: ‎7/‎15/‎2013 8:08 AM To: Razish/OpenJKmailto:OpenJK@noreply.github.com Cc: eezstreetmailto:eezstreet@live.com Subject: Re: [OpenJK] Restructure Renderer (#323)

I'm still of the opinion that Ghoul2 should stay in the renderer - at least the parts that deal with rendering (including animations, skin selection, etc). The ragdoll and collision code should be moved out from the renderer.


Reply to this email directly or view it on GitHub: https://github.com/Razish/OpenJK/issues/323#issuecomment-20968066

ensiform commented 11 years ago

We need to at least get the rd-common stuff sorted out for multi renderer that don't need duplicate tr_font and tr_image_tga tr_image_png etc.

Razish commented 11 years ago

So this is done, right?

ensiform commented 11 years ago

Not one renderer for sp-mp

ensiform commented 11 years ago

I think we should close this and open a new issue later after first release to migrate them to 1 dll.

mrwonko commented 10 years ago

Separating the Ghoul 2 API seems reasonable, but is difficult, as mentioned.

A renderer might do GPU skinning to animate the models, so expensive CPU skinning may not be needed and thus should not always be done - except when it has to. And sometimes it has to be done: Notably when doing collision detection and adding marks. But that's probably not for every model on every frame?

So maybe the G2API should do CPU skinning lazily? That sounds like the reasonable solution to me. Then we could move all of it out of the renderer, it doesn't belong there anyway as far as I'm concerned.

Should we move that discussion over to #503 and close this as ensi suggested?