Page 18 of 18

Posted: Sun Mar 09, 2008 5:22 pm
by JensAyton
Additional example: shiny qbomb. This one won’t be in 1.71, because the textures don’t align properly and the specular mapping is too garish. It needs to be redone with better tools.

This demonstrates the use of the specular_map’s alpha channel to modify shininess, and uses a glow map. It also uses different material settings depending on whether shaders are active.

In order to let you actually look at the result, this OXP defuses all q-bombs. If you want to actually play with it, edit shipdata.plist (the necessary change is commented). I forgot to add a demoships.plist.

Posted: Sun Mar 23, 2008 6:21 pm
by ramon
i started remodelling the Asp. I need to carry on with that really and finish the Anaconda with all these super new shaders. I haven't checked but is there one thread explaining how to use all the new shaders?

Posted: Sun Mar 23, 2008 7:00 pm
by JensAyton
My previous three posts in this thread and the documentation one of them links to are supposed to fill that very need regarding the standard shader. For writing your own shaders, see the Shaders’ Outpost thread.

Posted: Mon Mar 24, 2008 12:44 pm
by Frame
on a side note

with remodeling and all, i would just like to point out if you begin to scale up rectangular shaped sized ships like the anaconda you are going to be getting collision problems...

I got those problems with the Keelback... which was about 1000 meters in length which meant i could hit the ship where it physically was not, i presume this was cause of the something with the oolite collision is using the bounding boxes in some sort of way to make a fast CPU cost effective collision detection...

A station, since its nearly round(close to the boundry box at any edge), and allways rotating, you dont notice this in particular...

Destroying a large ship will give you alot of debris, the metal fragments.. that can be scooped.. my radar was full of them sometimes when i killed the Keelback... if this was due to size or face count, im not sure off.. but i seem to recall, that it was due to face count...

Posted: Mon Mar 24, 2008 1:16 pm
by JensAyton
Collision detection in Oolite is based on octrees. This basically means the bounding box of an entity is divided into a grid of 32×32×32 boxes, like a low-resolution bitmap in 3D. (The octree itself is just a more efficient way of storing the data.)

The real fix here is to rewrite collision handling to be polygon-accurate, but that’s not going to happen before MNSR. A simpler approach would be to use more subdivisions, but I’d prefer to try to do this adaptively rather than going to 64×64×64 or 128×128×128 for all ships. This appears to be trivial, I’ll give it a shot.

Posted: Mon Mar 24, 2008 2:07 pm
by JensAyton
It seems to be working. I’ve got it using level 4 (16×16×16) for objects smaller than 50 metres, level 5 for objects 50-999 metres, level 6 for 999-1999 metres and level 7 for anything bigger. (In this case, size is calculated as the average of width, length and height.)

Posted: Mon Mar 24, 2008 2:47 pm
by Kaks
Nice! :) 1.71 is getting really polished now. I'm starting to think that 1.72 might well be that fabled MNSR I've been reading about.... ;)

Posted: Mon Mar 24, 2008 3:49 pm
by JensAyton
Hmm, yes. Still need that JS object hierarchy that isn’t horribly broken, some shader fixers and even more JS features. But we have the basic shape of a stable pinned down. Oh, and someone’s been running around fixing all those bugs I’ve been too lazy to address. ;-)

My initial size criterion doesn’t do well with thin objects. I’m going to try using the average of the two greatest dimensions.

Posted: Fri Mar 28, 2008 7:13 pm
by Commander McLane
Does all of this mean that Generation Ships won't "collide" with objects kilometers away from them anymore? That would be exceptionally good news! :D

Posted: Sat Mar 29, 2008 4:17 pm
by Frame
Commander McLane wrote:
Does all of this mean that Generation Ships won't "collide" with objects kilometers away from them anymore? That would be exceptionally good news! :D
Depends on the size of the Gen ships

Im makeking an educated guees now..

Ahruman is making this:

lvl 1 = 2 by 2 by 2 /not used i guees
lvl 2 = 4 by 4 by 4 /not used i guees
lvl 3 = 8 by 8 by 8 /not used i guees

lvl 4 = 16 by 16 by 16
lvl 5 = 32 by 32 by 32 (this is standard ATM for all ships) but 50-999 meters
lvl 6 = 64 by 64 by 64 : 999 - 1999 meters
lvl 7 = 128 by 128 by 128 above 1999 meters(size is average for lvl7 and above only)

6412.500 x 6412.500 x 3025.000

is the size of a genration ship, if you go by the OXP found on the wiki..
so the average size if it is 5283,33

so it will be a lvl 7 with a 128 by 128 by 128 grid of boxes..

accuracy will surely be better..

Posted: Mon Mar 31, 2008 12:21 pm
by Commander McLane
Frame wrote:
6412.500 x 6412.500 x 3025.000

is the size of a genration ship, if you go by the OXP found on the wiki..
No, I think your decimal point just jumped to the wrong place. The actual size is more like 6412.500 x 6412.500 x 30250.00. (Most of it is the subentities, the numbers in the dat-file are not the relevant ones.)

Posted: Tue Apr 01, 2008 3:31 pm
by Frame
Commander McLane wrote:
Frame wrote:
6412.500 x 6412.500 x 3025.000

is the size of a genration ship, if you go by the OXP found on the wiki..
No, I think your decimal point just jumped to the wrong place. The actual size is more like 6412.500 x 6412.500 x 30250.00. (Most of it is the subentities, the numbers in the dat-file are not the relevant ones.)
thats funny, i copy pasted you see...

And i just double checked..
genship_name1.dat

says

6412.500 x 6412.500 x 3025.000

The largest subobject i could find though, is 8918.077
which is genship_head.dat so its more than double that of 3025.000
but still level 7 though

Posted: Wed Apr 02, 2008 10:08 am
by Commander McLane
Yes, as I wrote, the numbers in the dat-file are not the relevant ones!

Look at the shipdata. The Generation ship is made of its head, which is the main entity. According to the dat-file it extends to the z-coordinate 2868.07691734. Behind that there are four copies of the cylinder, each of them 6.500 meters long. Around it the frame (three copies), which doesn't add to the length, so we can skip it. And in the rear there is the thruster, whose origin is at z-coordinate -26300, according to the subentities-array (generation-ship-thruster 0 0 -26300 1 0 0 0), and from there it extends to its lowest z-coordinate -1108.52673016.

So the nose of the Generation Ship is at +2868.07691734, and its tail is at -26300 - 1108.52673016 = -27408.52673016. If we add those two, we come to a total length of 30276.6036475 meters. (Which is admittedly not exactly my estimate 30250.00, but reasonably close to that.)

Moral: Don't think that the main entity is the real deal, until you have looked at the subentities.

You will also notice that these coordinates make the Generation Ship an extremely eccentric ship (+2870 till -27400), which heavily influences its appearance on the scanner as well. For Ghosts_from_the_past.oxp I have re-centered it. A screenshot of that can be found in another recent thread.