Elvas Tower: 3d Trees in ORTS - Elvas Tower

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

3d Trees in ORTS Rate Topic: -----

#1 User is offline   bobwdude 

  • Apprentice
  • Group: Status: Dispatcher
  • Posts: 32
  • Joined: 01-August 17
  • Gender:Male
  • Location:Massachusetts
  • Simulator:Open Rails
  • Country:

Posted 24 March 2018 - 06:32 PM

Hi,

I was wondering that since ORTS is able to handle higher poly counts, would be possible to start using trees that have been fully 3d modeled, rather than the 2d profile models which are currently used in MSTS and ORTS routes? If it was, what would be considered a reasonable poly count?

I'd really like to get into developing content for ORTS and introducing new models which will bring a new level of graphics fidelity to this wonderful sim.

#2 User is offline   ErickC 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,001
  • Joined: 18-July 17
  • Gender:Male
  • Location:Hastings, MN, US
  • Simulator:ORTS
  • Country:

Posted 24 March 2018 - 09:00 PM

It should be fine in this day and age, but keep the triangle count as low as possible. With a combination of alpha textures for branches and leaves and a very small number of sides (I'd say four would be good as most tree trunks are pretty dark), you could probably keep the count below 100. If you had 100 3D trees visible at a time, then, the triangle count would be roughly equivalent to the average current-generation freight car (10,000-ish). I would heavily recommend using a single large texture sheet for all of your trees to reduce the drawcall count.

I wonder if the OR team would be willing to give us the ability to have certain sub-objects always face the camera (like 2D sprites). This is how TS2018 handles a lot of vegetation (including clumps of leaves on 3D trees). From most viewing distances, it creates a convincing visual effect but with a fairly small triangle count (distant trees have even fewer triangles than the cruciform trees common in OR/MSTS).

#3 User is offline   Genma Saotome 

  • Owner Emeritus and Admin
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 15,337
  • Joined: 11-January 04
  • Gender:Male
  • Location:United States
  • Simulator:Open Rails
  • Country:

Posted 24 March 2018 - 10:01 PM

If you use the option "Instancing" the poly count can become a don't care. What happens with that is one of your 3d trees is put thru the normal rendering process and sent over to the GPU, apparently along with the xyz and qdirection values for all other instances of the mesh within the view window. The GPU then does all of the work to place however many instances are needed.

The reason this works well for OR is it limits the amount of data being passed in the draw calls to one instance of the model. W/o instancing it would pass the same body of data once for each instanced placed.

Depending on the model and how many instances the reduction in work to the rendering thread can be substantial.

Once turned on most of the instances so processed will likely by road and track shapes. You should see you fps bump up.

Unfortunately, not all in OR-land is milk and honey; There is a limit and James does not know if its a limit of instances or something else less obvious. What happens when the limit is crossed is the instances begin to jump up and down... oh... 9-15 inches. It's very weird and very obvious. So don't go overboard with it.

The other thing about instancing is counter-intuitive: It ignores LOD's and renders everything as-if you were a meter away. When James explained this to me I thought that fact was terrible! I put all that effort into LOD's and they were ignored. Turns out it probably is no big deal after all. If you have 50 instances placed and the model has 500 polys evenly split between two LOD's you'd have 12,500 polys rendered for each LOD distance. With instancing you have 25,000 polys rendered? Gotta be worse, right? No. GPU's have incredible capability with triangles, billions per second. It's the draw calls that kill performance: In the old way of doing things you'd have at least 50 draw calls, one per instance. Now you have just one and, as best as can be figured, eliminating 49 draw calls is a much better deal that drawing those extra faces.

#4 User is offline   bobwdude 

  • Apprentice
  • Group: Status: Dispatcher
  • Posts: 32
  • Joined: 01-August 17
  • Gender:Male
  • Location:Massachusetts
  • Simulator:Open Rails
  • Country:

Posted 25 March 2018 - 03:37 AM

So provided I don't go absolutely crazy with the polycount and use model instancing, the processing load shouldn't be too great?

#5 User is offline   ErickC 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,001
  • Joined: 18-July 17
  • Gender:Male
  • Location:Hastings, MN, US
  • Simulator:ORTS
  • Country:

Posted 25 March 2018 - 06:51 AM

Yep! Like I said, a well-optimized model could probably be done in fewer than 100 triangles. Even 100 of those without instancing isn't adding a huge load.

#6 User is offline   Lucas 

  • Apprentice
  • Group: Status: Switchman
  • Posts: 12
  • Joined: 16-December 17
  • Gender:Male
  • Simulator:Train Simulator 2018
  • Country:

Posted 11 May 2018 - 09:33 AM

Try speed tree or Blender Sapling.

#7 User is offline   SP 0-6-0 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 985
  • Joined: 12-November 05
  • Gender:Not Telling
  • Location:Another planet.
  • Simulator:MSTS/ORTS
  • Country:

Posted 12 May 2018 - 07:57 AM

Maybe My link and tree[d]

ORTS read .obj files? Another tree gen prog

For Blender Blender



Robert

#8 User is offline   Lucas 

  • Apprentice
  • Group: Status: Switchman
  • Posts: 12
  • Joined: 16-December 17
  • Gender:Male
  • Simulator:Train Simulator 2018
  • Country:

Posted 14 May 2018 - 09:05 AM

I think ORTS don't read .obj.
I found this video very useful - here
I once tried it. It was good but need to be very careful with polycount.

#9 User is offline   SP 0-6-0 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 985
  • Joined: 12-November 05
  • Gender:Not Telling
  • Location:Another planet.
  • Simulator:MSTS/ORTS
  • Country:

Posted 14 May 2018 - 07:20 PM

ORTS support for .obj for scenery would be very nice addition.

Robert

#10 User is offline   Lucas 

  • Apprentice
  • Group: Status: Switchman
  • Posts: 12
  • Joined: 16-December 17
  • Gender:Male
  • Simulator:Train Simulator 2018
  • Country:

Posted 15 May 2018 - 11:34 PM

View PostSP 0-6-0, on 14 May 2018 - 07:20 PM, said:

ORTS support for .obj for scenery would be very nice addition.

Robert


Do OBJ support animation?

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users