Jump to content
Sign in to follow this  
arno

Autogen Exclusions

Recommended Posts

Hi Arno.Trees are excluded, but the areas needs to be 'primed' by already having an object, or adding an object. I'd consider this a 'bug', as I'm sure generic vegetation was meant to be excluded... but some thing we might need to keep in mind when the autogen doesn't do what we expect.Dick

Share this post


Link to post
Share on other sites

While working on my transparant textures tutorial I came across the influence of a 3D object (PerspectiveCall) on the autogen. I haven't tested other influences like v2, but it seems that autogen is once again excluded in a rectangle around it. I'll do more test to look at other things influencing it....Arno


Member Netherlands 2000 Scenery Team[link:home.wanadoo.nl/arno.gerretsen]Arno's FlightSim World for scenery design hints, tips and other tricks...

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

Share this post


Link to post
Share on other sites

Hi Dick,I haven't finished testing this yet :). Yesterday I was working on one of my sceneries and found some things about autogen exclusion again.First for the old style roads. Adding a dummy RotatedCall also works fine there.Then, the scenery was made in GroundMaker and I used some treelines as well. These are basically 3D objects (PerspectiveCall). Because one of the treelines was rather long it excluded a lot of autogen (again in a rectangle fitting around the entire object). So I also added the dummy RotatedCall there and it worked (again) :). One note, I first added the dummy wrong and my frames went down to 1.0. So some caution must be taken.Then I also had a look at the autogen exclusion by Bumpy again. I checked all v2 values, but even when I set them all to the size of the SurfaceType command, autogen was still excluded. Maybe it has something to do with the scale, this was not 1 for all objects. I think I need to have another look at the Bumpy code some day...Arno


Member Netherlands 2000 Scenery Team[link:home.wanadoo.nl/arno.gerretsen]Arno's FlightSim World for scenery design hints, tips and other tricks...

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

Share this post


Link to post
Share on other sites
Guest luissa

Hi,I just read all the valuable information (THANKS!) on excluding autogen that was posted in this forum during the last 2 weeks. I have to read it all again for all to make sense to me. However it looks like:- autogen exclusion is decided by FS at the end of an Area() block- the "exclusion rectangle" is determined by the "more recent points" found in a Point() list in the Area() block- the origin and the scale of the coordinates for the list of points is the "more recent" RefPoint() in the Area() block- TransformCall()s do not change the origin of coordinates in what concerns the "exclusion rectangle"- subroutine calls, like TransformCall(), RotatedCall() and may be just a Call(), reset the list of points for exclusion, so if no list of points is found before the Return, no exclusion takes placeAgain, I have to check all this. Best Regards, Luis

Share this post


Link to post
Share on other sites
Guest GerrishGray

Hi guysThat was a very good summary, Luis, and probably distills the essence of the general principles that have been learned here.There is one other point that I think I may be able to clarify, but it will need Dick to repeat his original testing please. You had a surface polygon, Dick, where the Autogen exclusion area seemed to be affected by the RefPoint v2 value? It occurs to me that this effect may be indirect - the visibility and v2 tests are done before any attempt is made to draw the object (i.e. 'add it to the display table', as it has been described - this description is a fairly accurate interpretation of what actually happens, I believe). If the visibility checks fail, the surface polygon will not be added to the table and therefore will not exclude any Autogen ... If the v2 value is too small, the polygon and its Autogen supression will both disappear while they should still actually be active. It's a theory, anyway - would you like to check it out using your original testing Dick?ThanksGerrish

Share this post


Link to post
Share on other sites

Can't answer for Dick of course, but as far as I remember only for the SurfaceType command we found that the autogen exclusion is affected by the v2 value. For all other polygons I didn't see such an effect.But I must say I mostly looked in topdown view and so the v2 value was not really relevant there. Might be interesting to see what happens if we have a polygon with a too small v2 value. Then we move away from it, till it dissapears and see if the autogen reappears or not.PS. I have also started making a summary out of this thread in the form of a document with all results in it. When it is done I'll post it of course.Arno


Member Netherlands 2000 Scenery Team[link:home.wanadoo.nl/arno.gerretsen]Arno's FlightSim World for scenery design hints, tips and other tricks...

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

Share this post


Link to post
Share on other sites

Hi Gerrish.The visible effect of too small a v2 was apparent only with the SurfaceType ( SCASM ) command. If the v2 was smaller than the surfacetype area, than the autogen was excluded for the square v2 area. If the v2 was equal to, or greater than, the surfacetype area, then there was no autogen exclusion.This effect was only related to surfacetype.=============Apparently, one of the most notorious excluders of autogen are the FS2000-style roads... but I believe a trailing "dummy" call, within the Area structure, might resolve that, as Luis has pointed out.I also need to check to see if a runway autogen exclusion superceeds a trailing dummy call within an "Area" structure.If dummy calls can suppress runway autogen exclusion, that would be a great help for designers.Dick

Share this post


Link to post
Share on other sites

>Apparently, one of the most notorious excluders of autogen >are the FS2000-style roads... but I believe a trailing >"dummy" call, within the Area structure, might resolve that, >as Luis has pointed out. I can confirm that. I added a dummy call and it worked fine in my scenery (expect from some trees on the road of course).As roads are ussually rather long they can indeed have a big effect on the autogen, as just like the polygons, also for the roads autogen is excluded in a rectangle fitting around the entire road.Arno


Member Netherlands 2000 Scenery Team[link:home.wanadoo.nl/arno.gerretsen]Arno's FlightSim World for scenery design hints, tips and other tricks...

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

Share this post


Link to post
Share on other sites

Hi Arno and Gerrish.Runways will exclude autogen no matter what, as far as I can tell.Oddly, by adding a refpoint before the runway code, you can get too small a v2 to affect the visibility of the runway. That supports what Gerish has been sayiing.. that in an Area structure, the first refpoint's v2 will control the rest of the area's visiblity properties.And, the v1 of the refpoint will affect the runway's visibility as well. That allows us to play tricks on simmers by hiding runways until the last second, if we so desire. :-wink2 But the autogen is still excluded, regardless of the v1, v2, or the distance of the aircraft, or the distance of the aircraft to the runway at starting the sim.This leads me to believe that although other autogen exclusions may be accidental or haphazard, runway exclusion of autogen was deliberate, and cannot be altered.Dick

Share this post


Link to post
Share on other sites
Guest GerrishGray

Now that's not so daft an idea, Dick - FS runways are often visible from far too far away in normal daytime conditions, it seems to me. Good thinking. (But not much to do with Autogen exclusion, eh ... amazing where these conversations can lead !).This has nothing to do with the 'first RefPoint' v2 though. You'll only see that effect if you make a single Area() with a number of separate objects, each with its own RefPoint with a tight v2. The visibility of the first one (and only the first one) then affects all the others - when the first is off screen all the others switch off, even when some of them should be visible on screen!CheersGerrish

Share this post


Link to post
Share on other sites
Guest

Hi again,Did I get you right, does a V2 number of 1000 really make a polygon in let's say Airport not to exclude autogen, so that autogen grows right through it? I didn't see such a thing when I tried this, but perhaps I've missed something really fundamental./Sebastian

Share this post


Link to post
Share on other sites

Hi Gerrish.Here's a piece of code I used experimenting on runways:

; RussianRwy.sca  N64* 10.63'   E49* 10.22'Header( 1 N65:00:00.0000 N64:00:00.0000 E050:00:00.0000 E049:0:00.0000 )LatRange( N64:00:00.0000 N65:00:00.0000 ); RHU1Area( 5 N64:10:55.3800 E049:10:13.620012 )	RefPoint( rel :_Fail  1.00 N64:10:55.3800 E049:10:13.6200  V1= 3000  V2= 50 )	Call(  :_Runway  )	Jump( : ); ==================:_Runway	Runway( N64:10:55.3800 E049:10:13.6200 			Altitude	   192.0			Heading	 360.0			Length	   4000; 4000 feet			Width		 400; 400 feet			ID			  36			Surface	  1	)Return; ===================:_FailReturn; ===================EndA

The runway will disappear with both the v2 and v1 settings set too low.Dick

Share this post


Link to post
Share on other sites

Hi Sebastian.There is no "magic" v2 number. What Arno and I have been finding out, is that v2 should be set to the maximum radius of a poly or object ( or perhaps of a whole area, if more than 1 object is present in it ). v2 controls the point at which your viewport will no longer display the object or poly after you've passed over the refpoint. v1 controls the point at which you'll no longer see the object at a distance.The exclusion of autogen can be eliminated through the use of a "dummycall" ( that simply points to a Return ), that follows the call to draw the object or poly.Multiple polys, or objects, in the same Area structure can also benefit from a "dummycall" that 'trails' the normal calls.Some code with a trailing dummycall:

; RussianTriangles.sca  N64* 11.03'   E49* 10.12'; ============== Header( 1 N65:00:00.0000 N64:00:00.0000 E050:00:00.0000 E049:0:00.0000 )LatRange( N64:00:00.0000 N65:00:00.0000 ); ============== GRP(  N64:10:55.8000 E049:9:48.0000  )Uvar( $MyElevation  192 ); ==============Area16N Elevation ( $MyElevation; elevation in meters	d -200  800	d  200  800	d  200 -800	d -200 -800 )End16; ============== Area( 5  d  0  0   35 )	LayerCall( :_Poly_1 8 )	LayerCall( :_Poly_2 8 )	RotatedCall(  :R  0  0  0   ) ; dummy call here saves all the autogen in the defined "Area"	Jump( : ); -----------------:_Poly_1	RefPoint( 7 :R 1  d  0  0   v1= 5000 v2= 300 )	Points( 0	-200 0 -100; 0	200 0 -100; 1	0 0 300; 2	)	RGBSColor( EF 255 0 0 )	Poly( m 0 32767 0 0.0 0 1 2 )Return; -----------------:_Poly_2	RefPoint( 7 :R 1 d 300 600 v1= 5000 v2= 300 )	Points( 0	-200 0 -100; 0	200 0 -100; 1	0 0 300; 2	)	RGBSColor( EF 0 0 255 )	Poly( m 0 32767 0 0.0 0 1 2 )Return; -----------------:R	Return; -----------------EndA; ==============

You've got 1 Area structure, 2 polys with separate RefPoints, and the LayerCalls for the polys followed by a "dummy call", to make the autogen show right. The Area16n flatten makes sure the ground polys are on flat ground , so they show properly.Dick

Share this post


Link to post
Share on other sites
Guest GerrishGray

Tell me Dick (to save me testing this myself - I'm a lazy b' at heart), does the Autogen exclusion effect of the runway also disappear (i.e. the Autogen comes back), when the runway disappears off screen prematurely?CheersG.

Share this post


Link to post
Share on other sites

Hi Gerrish.No. The autogen exclusion is not tied to the display of the runway.I also tested invisible runways... and started the sim from a 'disappeared' viewpoint ( beyond the v1... or just outside the small v2 ). The autogen exclusion was not affected at all.Dick

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...