Author Topic: A celebration of Freespace  (Read 2789476 times)

0 Members and 1 Guest are viewing this topic.

Re: A celebration of Freespace
CryEngine doesn't give a **** about polycount.
From what I can see, neither does FSO.

I thought FSO used the base model for collision modelling, which grinds to a halt if you have too many polys?
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline Shivan Hunter

  • 210
  • FRED needs lambdas!
Re: A celebration of Freespace
Collision between two models whose bounding boxes intersect is O(log n) w.r.t. polies, IIRC. Huge polycounts can be an issue, and it's good to have a simple collision mesh for a variety of reasons, but the real constraint is number of ships in the mission (because sorting the ships and finding out which ones do intersect is a handshake probem AKA O(n^2) {and I do remember something about using sorting algorithms like quicksort in x, z, and y to whittle them down as opposed to comparing each and every one, which could give us results near O(n*log(n)), but idk what the progress on that is if any, it might even have been in that collision update a while back}).

  

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: A celebration of Freespace
Collision between two models whose bounding boxes intersect is O(log n) w.r.t. polies, IIRC. Huge polycounts can be an issue, and it's good to have a simple collision mesh for a variety of reasons, but the real constraint is number of ships in the mission (because sorting the ships and finding out which ones do intersect is a handshake probem AKA O(n^2) {and I do remember something about using sorting algorithms like quicksort in x, z, and y to whittle them down as opposed to comparing each and every one, which could give us results near O(n*log(n)), but idk what the progress on that is if any, it might even have been in that collision update a while back}).


 

Offline MatthTheGeek

  • Captain Obvious
  • 212
  • Frenchie McFrenchface
Re: A celebration of Freespace
I thought FSO used the base model for collision modelling, which grinds to a halt if you have too many polys?
FSO uses all subobjects in LOD0 that aren't marked as $no_collide for collision detection. Which is why everything you see is marked as $no_collide and I have a lower-poly collision mesh set as invisible and $collide_invisible (I don't remember if that's the exact syntax, I don't have the pof in front of me).

Note: even without collision mesh, firing at 18 constellations flying around barely brings me down to solid 20fps. Swifty did a good job.
« Last Edit: January 10, 2014, 01:17:50 pm by MatthTheGeek »
People are stupid, therefore anything popular is at best suspicious.

Mod management tools     -     Wiki stuff!     -     Help us help you

666maslo666: Releasing a finished product is not a good thing! It is a modern fad.

SpardaSon21: it seems like you exist in a permanent state of half-joking misanthropy

Axem: when you put it like that, i sound like an insane person

bigchunk1: it's not retarded it's american!
bigchunk1: ...

batwota: steele's maneuvering for the coup de gras
MatthTheGeek: you mispelled grâce
Awaesaar: grace
batwota: oh right :P
Darius: ah!
Darius: yes, i like that
MatthTheGeek: the way you just spelled it it means fat
Awaesaar: +accent I forgot how to keyboard
MatthTheGeek: or grease
Darius: the killing fat!
Axem: jabba does the coup de gras
MatthTheGeek: XD
Axem: bring me solo and a cookie

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: A celebration of Freespace
Collision detection in FSO was never that bad.

We perform quite a few first-pass optimizations in order to cut down the number of collisions we evaluate (like, for example, primary weapon shots will never collide. Or things like a weapon moving away from another object. Stuff like that.), and once we get into actually having to evaluate collisions against another object, we go through a BSP tree to quickly evaluate them (this is the reason why the pof format is as omgwtfhuge as it is, BSP trees are efficient to evaluate but not efficient to store).

Basically, our collision detection is usually much better than O(n log n). The issue with large models such as the ones under discussion is that evaluating the BSP tree takes ages, and once we go into it, it is almost guaranteed that we'll be going through it all the way.

That's how collision meshes work: By not evaluating collisions against the main mesh, everything speeds up by a lot.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: A celebration of Freespace
Also, IIRC, FSO doesn't do mesh-to-mesh collisions at all. In a, for example, fighter-to-capship collision, the smaller of the ships is approximated by it's radius. I first noticed it when landing a particularly flat fighter on a carrier deck. I'm not sure how collisions between objects of similar size are handled, but IIRC, it's also an approximation (either radius or bounding box is used).

 

Offline MatthTheGeek

  • Captain Obvious
  • 212
  • Frenchie McFrenchface
Re: A celebration of Freespace
So yeah, I was fully expecting that firing on a whole 500k-poly mesh while on a debug build would simply melt FSO, turns out it just shrugged it off and kept solid 60fps like it was nothing. And it'll go even better once I put collision meshes on everything.

So you can stop dreaming about supercomputers. FSO's pretty cool guy, eat polygons for breakfast and doesn't afraid of anything.
People are stupid, therefore anything popular is at best suspicious.

Mod management tools     -     Wiki stuff!     -     Help us help you

666maslo666: Releasing a finished product is not a good thing! It is a modern fad.

SpardaSon21: it seems like you exist in a permanent state of half-joking misanthropy

Axem: when you put it like that, i sound like an insane person

bigchunk1: it's not retarded it's american!
bigchunk1: ...

batwota: steele's maneuvering for the coup de gras
MatthTheGeek: you mispelled grâce
Awaesaar: grace
batwota: oh right :P
Darius: ah!
Darius: yes, i like that
MatthTheGeek: the way you just spelled it it means fat
Awaesaar: +accent I forgot how to keyboard
MatthTheGeek: or grease
Darius: the killing fat!
Axem: jabba does the coup de gras
MatthTheGeek: XD
Axem: bring me solo and a cookie

 

Offline Col. Fishguts

  • voodoo doll
  • 211
Re: A celebration of Freespace
How many constellations can you get on screen simultaneously until you get a slide show?
"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

 

Offline Shivan Hunter

  • 210
  • FRED needs lambdas!
Re: A celebration of Freespace
yay for dicking around with GIMP instead of fredding


 

Offline 0rph3u5

  • 211
  • Oceans rise. Empires fall.
Re: A celebration of Freespace
I see a hole in space ... not sure if I like that
"As you sought to steal a kingdom for yourself, so must you do again, a thousand times over. For a theft, a true theft, must be practiced to be earned." - The terms of Nyrissa's curse, Pathfinder: Kingmaker

==================

"I am Curiosity, and I've always wondered what would become of you, here at the end of the world." - The Guide/The Curious Other, Othercide

"When you work with water, you have to know and respect it. When you labour to subdue it, you have to understand that one day it may rise up and turn all your labours into nothing. For what is water, which seeks to make all things level, which has no taste or colour of its own, but a liquid form of Nothing?" - Graham Swift, Waterland

"...because they are not Dragons."

 
Re: A celebration of Freespace
You guys gotta stop dividing by zero, it's bad for your skin.

 

Offline Luis Dias

  • 211
Re: A celebration of Freespace
i think it's a not-so-incompetent rendition of a black hole. Of course, the problem is that it's assymetrical. It shouldn't be. Nevertheless.

 

Offline Shivan Hunter

  • 210
  • FRED needs lambdas!
Re: A celebration of Freespace
Well, it has two mathematical errors, one of which I can correct by rotating part of it 180 degrees. Luis: It's perfectly circular in the skybox, it only looks asymmetrical in that pic because it's off to the side of the screen. FOV stuff. Same discussion as was had about the sun graphics I did a few pages back.

 

Offline Luis Dias

  • 211
Re: A celebration of Freespace
I suspected as much, but it seemed too skewed.

 

Offline esarai

  • 29
  • Steathy boi
Re: A celebration of Freespace
YEAAAH GRAVITIC LENSING.  FLY INTO THE BLACK HOLE, THE FUTURE IS NOW!
<Nuclear>   truth: the good samaritan actually checked for proof of citizenship and health insurance
<Axem>   did anyone catch jesus' birth certificate?
<Nuclear>   and jesus didnt actually give the 5000 their fish...he gave it to the romans and let it trickle down
<Axem>and he was totally pro tax breaks
<Axem>he threw out all those tax collectors at the temple
<Nuclear>   he drove a V8 camel too
<Nuclear>   with a sword rack for his fully-automatic daggers

Esarai: hey gaiz, what's a good improvised, final attack for a ship fighting to buy others time to escape to use?
RangerKarl|AtWork: stick your penis in the warp core
DarthGeek: no don't do that
amki: don't EVER do that

 

Offline Kolgena

  • 211
Re: A celebration of Freespace
oh man there needs to be caustics on that ships lighting and environment map because gravitic lensing

fso most make update

 

Offline Shivan Hunter

  • 210
  • FRED needs lambdas!
Re: A celebration of Freespace
?

The hole is GIMP'd into the skybox, and the envmap uses the skybox, so...

Dunno about caustics, either whether it'd be noticeable on ships from a physics perspective or feasible in the engine (or doable with ~shaders~). Could just position a low-intensity sun with a black bitmap and $NoGlare: at the hole so a tiny amount of light comes from its direction.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: A celebration of Freespace
Thank you for ~tilde posting~, the best posting.

 
Re: A celebration of Freespace
pretension tildes top all other forms of textual inflection
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline Kolgena

  • 211
Re: A celebration of Freespace
?

The hole is GIMP'd into the skybox, and the envmap uses the skybox, so...

Dunno about caustics, either whether it'd be noticeable on ships from a physics perspective or feasible in the engine (or doable with ~shaders~). Could just position a low-intensity sun with a black bitmap and $NoGlare: at the hole so a tiny amount of light comes from its direction.

oh i thought that it was a warp hole the fighter was entering but i guess that is wrong.

fso most make update anyways